2017-06-07 8 views
2

私はテストをスピードアップしようとしていますが、不要なデータベースの書き込みを削除するような作業をしています(ファクトリーガードを使用せずにnewを使用し、テストを組み合わせる機能テストを減らします)時間内に正確にrspec /カピバラの試験時間を測定しますか?

しかし、私がテストスイート全体を走らせると、ほぼ同じ時間になってしまい、改良されたテストでは実行時間が遅くなってしまうこともあります。

これを正確に測定する方法はありますか?

+0

[show-runtime-for-each-rspec-example](https://stackoverflow.com/questions/4856500/show-runtime-for -each-rspec-example) –

答えて

4

FactoryGirlでcreateの代わりにnewを置き換えることで、風呂場の水を出すことができます。永続オブジェクトが必要ない場合は、FactoryGirlのbuildまたはbuild_stubbedを使用することができます。パラメータのデフォルト設定などを維持しながら、パフォーマンスの節約を実現します。それ以外にも、実際に行っているすべてのパフォーマンスチューニングは、実際の時間ブラウザでの作業、資産のコンパイル(特にテストの数が少ない場合)など、実際にはそれほど節約できません。あなたの最善の策が気になるのは、単体テストのようにできるだけ多くのテストを行い、あなたの機能テストの大部分をあなたのアプリケーションを通して幸せな道に制限することです。

「存在しない要素」ではなく「存在しない要素」が存在するのを待って最適化するのを待っているかどうかを確認する最も遅いテストを見つけたい場合は、--profileコマンドラインオプションをrspecに設定するか、RSpec設定で 'profile_examples'を指定してください。https://relishapp.com/rspec/rspec-core/docs/configuration/profile-examples

関連する問題