3

さまざまなデータ (音楽、ビデオ) をアップロードし、サービスからメタデータを取得するいくつかのテストがあります。

したがって、 time.sleep() は非常に悪い方法です。さまざまなサーバーや状況によってシステムが過負荷になる可能性があるからです。

だから私は設定する特別なデコレータまたはパラメータを探しています。このようなもの

@fails(10)
def test_get_info(self):
    assert info == 1

10 回試行してもアサートは失敗します - Exception を発生させます。

ありがとうございました。

4

2 に答える 2

7

retryデコレータを使用できます:

@retry(AssertionError, tries=10)
def test_get_info(self):
    assert info == 1

注:メソッドは考慮されませんsetupteardown

于 2012-08-22T15:53:22.063 に答える
3

完成させるために、次のプラグインも追加します: https://pypi.python.org/pypi/flaky

それはpy.testとnoseですぐに動作し、テストメソッドまたはクラスを装飾するだけです。私はそれがかなりきちんとした API だと思います:

@flaky(max_runs=10)
def test_get_info(self):
    assert info == 1
于 2016-12-15T13:19:44.210 に答える