8

テストの実行に一定時間 (たとえば 500 ミリ秒) よりも長い時間がかかる場合、テストが失敗するようにしたいと考えています。すでにこれを行うNose用のプラグインなどはありますか?

4

2 に答える 2

11

タイミングが重要な場合 (例: リアルタイム要件):

http://nose.readthedocs.org/en/latest/testing_tools.html

nose.tools.timed(limit)

テストに合格するには、指定された制限時間内に終了する必要があります。

使用例:

 from nose.tools import timed
 @timed(.1)
 def test_that_fails():
     time.sleep(.2)
于 2012-07-24T16:48:47.693 に答える
7

「壊れた」の意味を変えることは悪い考えであることを丁重に提案します。

失敗した/「赤」のテストの意味は、「この機能は壊れています」以外のものであってはなりません。それ以外のことを行うと、テストの価値が低下するリスクがあります。

これを実装して、来週いくつかのテストが失敗した場合、それは次の指標になりますか?

  • テストの実行が遅いですか?
  • コードが壊れている?
  • 上記の両方を同時に?

ビルド プロセスから MI を収集し、それを監視して遅いテストの構築を特定することをお勧めしますが、赤は「壊れた機能および/または遅いテスト」ではなく「壊れた機能」を意味します。

于 2011-07-01T13:29:44.097 に答える