2015-11-02 1 views
9

私はユニットテストを実行するために、NUnit VSアダプタ経由でVisual Studio 2015のテストエクスプローラを使用しています。VS 2015テストエクスプローラで「すべて実行」を使用すると、NUnitのテスト時間が遅くなるのはなぜですか?

テストエクスプローラの[すべて実行]コマンドを使用すると、テストが実行され、1秒以内に合格/不合格が表示されますが、ランタイムの合計は34秒です。すべてのテストを選択して右クリックし、コンテキストメニューから「ファイル名を指定して実行選択したテスト」1秒の合計実行時間を取る同じテストを使用して

Test Explorer using 'Run All'

Test Explorer using 'Run Selected Tests'

私はそれがすべて実行」を使用するので、はるかに長い時間がかかる理由についてどのような手掛かりを発見していないました。

答えて

2

出力ウィンドウを見てみましょう。私は、出力ウィンドウには、この

のように見える「すべての実行」を取る場合は出会うテストが開始------ ------
==========出会うテストが終了しました: 92 found(0:00:00.4993709)==========
------実行テストを開始------
==========テストを実行する終了:92ラン(0:00:04.157636)==========

私が代わりに私は窓がこの

のような出力をテストしたいすべてのテストを選択した場合

------テストを開始しました------
==========テストを終了:92 run(0:00:03.7262618)======== ==

ポイントは、「すべての実行」を取るときのテストエクスプローラが「TestClassを」属性と「のtestMethod」が飾られ、そのすべてのメソッドを持つクラスをすべてすべてのコードを通過し、再発見することがあるということです属性(これは反射を介して行われますが、場合によっては「遅い」かもしれません)。どうして?テストエクスプローラは、新しいテストメソッドや既存のテストメソッドをすべて見つけることができます。

テストするメソッドを手動で選択すると、テストエクスプローラはテストするすべての既存メソッドと新しいメソッドを再検索する必要がないため、高速です。

これは「合計実行時間」という意味のビットです。NUnitを使用したことは一度もありません。コメントにコメントを投稿するのはずっと時間がかかりました。

関連する問題