5

私はTDDとBDDを学び、正しい方法でそれをしようとしています。私が使用しているスタック(または使用しようとすると、SporkはGuardで動作しません)はMinitest-Guard-Spork-Capybaraです。私はモデルの単体テストと統合テストの仕様に焦点を当てています。テストするときに、Rails 3.2でJavascriptファイルを調整するたびにアセットをプリコンパイルする必要がありますか?

私はこのアプリケーションに多くのAjaxを持っています。私はちょうど私のテストの1つにsave_and_open_pageをしました、もちろん、そのページはもちろん、恐ろしいものでした。

私はJSの機能をテストしていた場合私の質問は、私はそれらをテストするために、毎回資産をプリコンパイルしなければならないのか、またはテストのためのdevのモードへのパイプラインのデフォルトを持っているいくつかの方法があります目的。

私はこれがn00bの質問であると確信していますが、それが私がテストしているところです。正しいことをしようとしています。

答えて

2

アセットをコンパイルする必要はありませんが、実際には何もする必要はありません。 save_and_open_pageは動作が異なり、資産が読み込まれないので、すべてが醜いように見える場合は恐れず、カピバラテストはテスト環境の設定を変更せずにjavascriptで正常に動作します。

ただし、capybaraとmini testを設定してjavascriptを使用する必要があります。javascriptを有効にするために仕様にタグを付けることを忘れないでください。

3

いいえ、毎回行う必要はありません。開発環境(テスト環境?)、プロダクション環境、およびプリコンパイルは、公的作業システム用です。あなたの仕事環境には、config.assets.compile = trueがあるはずです。

+0

ありがとうございます。私が理解していることを確認させてください。私のテストでは私のアプリで実際の資産を "見る"ことができるように、config.asets.compile = trueをconfig/environments/test.rbに追加する必要があります。 Javascriptファイルに対してTDDまたはBDDを実行している場合はどうなりますか?テストフレームワークは、コンパイルされたコードの代わりに新しいコードにアクセスする方法をどのように知っていますか?あるいは私はこれを後方に持っていますか?理想的には、コンパイルされたアセットに対してテストするのではなく、生のコードに対してテストすることが理想的です。しかし、私のテストでは、save_and_open_pageを実行したときにスタイルシートへのパスを見ることができるため、コンパイルされたアセットを探しています。 – AKWF

+0

私はあなたの開発環境でconfig.assets.compress = falseでなければならないと思います - 真実ではありません!それ以外の場合は、開発中に資産をコンパイルする必要があります。 – Mattherick

関連する問題