Skip to content

[WIP] Using mock #203

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 9 commits into from
Closed

[WIP] Using mock #203

wants to merge 9 commits into from

Conversation

nalabjp
Copy link
Member

@nalabjp nalabjp commented Nov 19, 2017

fix #160

Changes

  • Scrivitoオブジェクトのモックを作るヘルパーメソッドを定義した
  • Scrivitoオブジェクトを使っているところをモック化した
  • featureスペックはfill_inするための要素が必要で良い方法が思いつかずペンディングにした

@nalabjp
Copy link
Member Author

nalabjp commented Nov 19, 2017

WIPにしている理由は以下です。

  • モックを使っているテストの内容が必要十分なのか判断できていない
    • モック化したScrivitoオブジェクトがあるだけでよいのか?
  • featureスペックはHTMLの要素が必要でちょっと良い方法が思いつかない
    • Scrivitoオブジェクトがレンダリングするところまでなんとかしなければいけない?
  • 環境変数を使ったテストがあるが環境変数の値をダミーなものに置き換えて(モック化して)テストになっているのか
  • SCRIVITO_TENANT, SCRIVITO_API_KEYは適当な文字列を与えるだけではダメで、forked repoからのCIを回すにはデモ用のを設定する必要があるが、リテラルとしてコードに入れて良いものか?(initializersで環境変数がなければ設定するデフォルト値にするという意味)

ひとまずPRを作ってみたもののこのあたりどうしましょうか、という相談がしたいです。
forked repoからのCIは走らせない(スキップさせる)という方法を探すほうが良さそうな気もするのですがどうでしょうか🤔(できるかどうかわかりませんが)

@yasulab
Copy link
Member

yasulab commented Nov 19, 2017

👀 Looking inside PR ...

@yasulab
Copy link
Member

yasulab commented Nov 19, 2017

forked repoからのCIは走らせない(スキップさせる)という方法を探すほうが良さそうな気もするのですがどうでしょうか🤔(できるかどうかわかりませんが)

確かにこちらも1つの方法ですね。基本的には db/*.yaml に対するPRが多いですが、一方で最近は #188 のようなPRもいただいているので、その時にテストをスキップしてしまってよいのか悩ましいですね 😓

とはいえ description で指摘されているような「テストとして必要十分なのか判断しづらい」や「(そもそも) テストになっているのか」というのはとても納得感があるので、(PRにしてみていただいたところ恐縮ですが) 個人的には、

forked repoからのCIは走らせない(スキップさせる)という方法を探すほうが良さそうな気もするのですがどうでしょうか🤔(できるかどうかわかりませんが)

が良いのかなと考えています🤔 できれば CI を走らせないというよりかは、必要最低限のテスト (db/*.yaml のフォーマットのチェックと、Scrivitoから独立しているページのテスト) だけ走らせておきたいですが、いずれにせよ「そもそも forked repo は検知できるのか?」を調査しないことには始まらなさそうですね 💦

よければ上記の方法について調べてみてもらえると嬉しいです! 😸 それと、以下に以前お話ししたアイデアと、僕の方で思いついたアイデアちょっとまとめておきますね🤔💭

  • Travis CIからシェルスクリプトを実行し、そこで実行するテストを切り分ける方法がありそう
    • ただし、そもそも forked repo を検知できるかどうかを調べる必要がある
  • Scrivito に関するテストファイルのprefixをscrivito_に統一させておく?
  • forked_repo からのPRでは、scrivito_*.rbのテストは実行しない?

@nalabjp
Copy link
Member Author

nalabjp commented Nov 20, 2017

方向性は理解しました。
完全同意なのでひとまず調査してみます。
一旦 #160 上での議論に戻ったほうが良さそうですね。

@nalabjp
Copy link
Member Author

nalabjp commented Nov 26, 2017

#160 がfixしたので閉じます😌

@nalabjp nalabjp closed this Nov 26, 2017
@nalabjp nalabjp deleted the using-mock branch November 26, 2017 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

一部の PR では Scrivito に関するテストが落ちる問題を解決したい
2 participants