2

私は最近 TDD に移行しましたが、コードベースのサイズと複雑さが増すにつれて、テストを実行するたびに、フレームワークが読み込まれるまでの待ち時間がますます長くなっていることに気づきました。

rspec の spec_server は知っていますが、Test::Unit を shoulda で使用しています。Snailgun ( http://github.com/candlerb/snailgun ) を試してみましたが、速度がほとんど向上していないことに気付きました。spork-testunit ( http://github.com/timcharper/spork-testunit )も試しましたが、既存のテストと完全には互換性がありません。

テストの実行の遅れは明確な問題点であり、TDD (少なくとも Rails では) から遠ざかっています。他のオプションを知っている人はいますか?

4

3 に答える 3

2

必要な場所でモックを使用していますか?

モックフレームワークについては言及していません。使用していますか?または、テストが大規模で、Web サーバーへのログインやデータベース クエリの実行などをテストしますか?

単体テストは 1 秒あたり約 100 回実行する必要があるという経験則を聞いたことがあります。これでは、実際のリソースに接続して使用することはできません。実際のリソースにアクセスするテストは、統合テストと見なされる傾向があり、単体テストよりも実行速度が遅いと理解されています。

于 2010-03-22T20:15:06.103 に答える
0

自動テストを試してください。ファイルを監視し、バックグラウンドで実行します。編集が完了する頃には、レビュー用のテストがすでに終了しています。

gem install autotest-rails
autotest

https://rubygems.org/gems/autotest-rails

http://ph7spot.com/musings/getting-started-with-autotest

于 2014-06-01T04:15:01.087 に答える
0

database.ymlテストにインメモリ SQLite3 データベースを使用するように構成できます。

于 2010-03-22T20:46:26.310 に答える