2011-07-06 19 views
3

私の同僚は、テストメソッドを持つクラスをフィクスチャと呼びますが、 "フィクスチャ"はテスト用の固定された環境であるため、間違っていると思います。単体テストの用語

NUnit uses the (wrong?) term "TestFixture"もあります。

Wikipediaは言う:ジェネリックのxUnitで

を、テスト・フィクスチャは、テストを実行し、 特定の結果を期待するために、場所 でなければなりません すべての事です。

ユニットテストフレームワークのsetUp()およびtearDown()イベント を処理することによって、頻繁にフィクスチャが作成されます( )。 setUp()では、テスト用に の状態が作成され、tearDown()では に設定されていた内容が消去されます。

私はセットアップとティアダウンフィクスチャを呼び出しますが、クラス全体ではありません。あれは正しいですか?

そして、テストケースでクラスを呼び出す方法は? python docsに続く「テストスイート」?

+0

あなたは確かにフィクスチャのことについて正しいですし、私はまた、 "テストスイート"に同意するでしょう。 –

+0

私はフィクスチャの用語を2番目に使いますが、私のためのテストスイートはテストケースのグループです。これは**一つのクラスになる可能性がありますが、通常は複数のクラスに分散されます。 –

答えて

5

テストケースは、特定のものをテスト単一のテストあります。

テストスイートは、何らかの理由で、「一緒に属している」という一連のテストにテストケースのグループです。

テストフィクスチャテストケース前後に(セットアップ/ティアダウン)状態を管理するが実行されています。

これらは概念であり、の実装方法は、テストフレームワークによって異なります。

など。テストケースは関数またはクラスにすることができます。テストスイートは、関数としてテストケースを含むクラスか、テストケースを持つコンテナ(これはやはりさまざまな方法で実装できます)です。テストフィクスチャをテストフレームワークに組み込むことができる。専用の関数を使用するか、またはその構造と破壊によって状態を処理するフィクスチャクラスである可能性があります。

編集私が重要であると考えてい

ことの一つは、テストフレームワークの用語を使用し、テストフレームワーク(そのようなものが存在する場合)の推奨アプローチに従うことです。物事に一貫して同様に名前を付けないことによって、多くの混乱が生じます。これはすべてに当てはまります。