Unittest-framework-nose-testing-tools

提供:Dev Guides
移動先:案内検索

鼻のテスト-ツール

nose.toolsモジュールは、テストの実行時間を制限したり例外をテストしたりするためのデコレーターや、unittest.TestCaseにあるすべてのassertXメソッドを含む、役立つと思われる多くのテスト支援を提供します。

  • * nose.tools.ok_(expr、msg = None)*-アサートの省略形。
  • * nose.tools.eq_(a、b、msg = None)*-「assert a == b、“%r!=%r”%(a、b)」の省略形
  • * nose.tools.make_decorator(func)*-テストデコレーターをラップして、装飾された関数のメタデータを適切に複製します。これには、鼻の追加物(つまり、セットアップとティアダウン)が含まれます。
  • * nose.tools.raises(* exceptions)*-テストに合格するには、予想される例外の1つを発生させる必要があります。
  • * nose.tools.timed(limit)*-テストに合格するには、指定された制限時間内に終了する必要があります
  • * nose.tools.istest(func)*-関数またはメソッドをテストとしてマークするデコレーター
  • * nose.tools.nottest(func)*-関数またはメソッドをテストではないとしてマークするデコレーター

パラメータ化されたテスト

Pythonのテストフレームワークであるunittestには、パラメーター化されたテストケースを実行する簡単な方法がありません。 つまり、外部から引数を unittest.TestCase に簡単に渡すことはできません。

ただし、pytestモジュールポートは、いくつかの十分に統合された方法でパラメータ化をテストします-

  • * pytest.fixture()*を使用すると、フィクスチャ関数のレベルでパラメータ化を定義できます。
  • *@pytest.mark.parametrize*では、関数またはクラスレベルでパラメーター化を定義できます。 特定のテスト関数またはクラスに複数の引数/フィクスチャセットを提供します。
  • pytest_generate_tests は、独自のカスタム動的パラメーター化スキームまたは拡張機能の実装を可能にします。

サードパーティのモジュール「nose-parameterized」を使用すると、任意のPythonテストフレームワークでパラメーター化されたテストを実行できます。 このリンクからダウンロードできます-https://github.com/wolever/nose-parameterized