5

「テストケース」という言葉の難しい定義を見つけるのに苦労しています。一部の情報源は、テストケースはを拡張するクラスであると主張していますTestCase。他の情報源は、テストケースは単一のテスト方法であると主張しています。JUnitのドキュメントは不明確です。「テストケース」と「テスト」という言葉は同じ意味であるように思われます。

アノテーションは、それがアタッチされているメソッドをテストケースとして実行できることをTestJUnitに通知します。メソッドを実行するために、JUnitは最初にクラスの新しいインスタンスを作成し、次に注釈付きメソッドを呼び出します。テストによってスローされた例外はすべて、JUnitによって失敗として報告されます。例外がスローされない場合、テストは成功したと見なされます。public void

では、「テストケース」とは正確には何であり、「テスト」との関係は何でしょうか。

4

2 に答える 2

1

TestCaseに関するJUnitのドキュメントを紹介します。その中で、それはそれがテストケースを意味するもののための3つの条件を説明します:

  1. TestCaseのサブクラスを実装する
  2. フィクスチャの状態を格納するインスタンス変数を定義します
  3. setUp()をオーバーライドしてフィクスチャの状態を初期化します
  4. tearDown()をオーバーライドすることによるテスト後のクリーンアップ。

ここで理解するには、setUpとtearDownの部分が重要だと思います。テストケースが1つの注釈付きメソッドであるというだけではありません。テストケースは、そのメソッドに加えて、テストが実行されるフレームの初期化と破棄です。

したがって、あなたの質問に答えるために、テストは単一のメソッドの動作を検証しようとする注釈付きのメソッドの1つですが、テストケースはそのテストとそれが実行されるフレームです。

于 2011-03-07T14:35:22.087 に答える
1

TestCaseJUnitのコンテキストでは、「テストケース」は、関連するテスト(JUnit 4では、これ以上拡張する必要はありません)または単一のテストメソッドを含むクラスを意味します。この用語の明確な定義は実際にはありません。

私の本では、テストケースがこの質問に対する答えです。テスト対象のコードは期待どおりに動作しますか?

テストケースは小さい場合があります。

Foo foo = new Foo();
assertEquals( "...", foo.bar(5) );

または、データベースをセットアップし、テストデータを使用してオブジェクトモデルを作成し、いくつかのメソッドを呼び出して、オブジェクトモデルの変更が期待どおりに機能することを確認できます。

于 2011-03-08T09:31:01.363 に答える