0

Rails2アプリケーション用の12,000行のコードのキュウリ機能があります。コントローラー、モデル、ヘルパー、ページの表示コードなど、アプリケーションコードのコードカバレッジを取得するためのすべての機能を実行しています。すべての機能を実行するには、4時間かかります。それでも私は100%のコードカバレッジを取得していません。私の質問は、キュウリの機能を介して100%のコードカバレッジを取得する方法と、すべての機能の実行時間を4時間から最小の実行可能時間に短縮する方法です。

4

2 に答える 2

2

一般的にキュウリのスピードアップに関するページはたくさんあると思います。たとえば、 http: //aaron-jensen.com/post/5019042852/speed-up-your-rspec-cucumber-runはその1つです。

Cucumberを遅くしている原因はコードに固有である可能性があり、それを確認できるのはあなただけであるため、プロファイリングを確認する必要がある場合があります。

統合テストはフルスタックをテストしているため、遅いという評判があることを覚えておいてください(そしてそれがポイントです)。これが、統合レベルですべてをテストするのが遅すぎるため、多くの場合、完全な単体テストはありますが、完全な統合テストは行わない理由です。

より良いカバレッジを取得することに関して、カバレッジレポートを使用してカバーされている量を通知する場合は、HTMLレポートでカバーされていない行を通知する必要があり、そのためのテストを調整できます。

ただし、実際には、堅牢性のために存在するため、ユーザーインターフェイスでテストできないものがある可能性があります。つまり、実際には発生しないと予想されるものですが、万が一の場合に備えて処理します。予期しない理由、または将来のコード変更によるもの。このような場合、単体テストがこれらのコード行をカバーする唯一の方法である可能性があります。

于 2012-08-30T07:28:18.997 に答える
0

もちろん、この機能は実際にユーザーの操作をシミュレートするため、実行には時間がかかります。を使用して実行する正確なシナリオを指定することにより、同じシナリオの再実行を回避できます。

 cucumber path/to/file.feature:33

ここで33は、実行するファイル内の特定のシナリオの行番号を指定します。

于 2012-08-30T07:07:54.297 に答える