JUnitを使用したTestCaseの作成

1912 ワード

個々のメソッド、クラス、インタフェースなどのテストを習得した後、Test Suiteを作成する方法を見て、まず例を見てみましょう.

  public static Test Suite(){
     TestSuite suite = new TestSuite();
     suite.addTest(new MoneyTest("testEquals"));
     suite.addTest(new MoneyTest("testSimpleAdd"));
     return suite;
     }

この例で作成したTest Suiteは、testEquals()とtestSimpleAdd()の2つのテストから構成されています.これは「手動でTest Suiteを作成する」というもので、テスト方法が1つも追加されていないため、手動でTest Suiteのテストリストを更新する必要があります.この方式はJUnit 2.0の前に、Test Suiteを作成する唯一の方法です.しかし、今は唯一の道ではありません.
 
  現在のフレームワークでは、Test CaseクラスのテストメソッドにTest Suiteを自動的に作成する機能が提供されています.いくつかの簡単な原則をマスターすれば、JUnitは自動的にあなたのテストを発見し、実行します.
1.あなたのテスト方法はinstanceレベルでなければなりません.パラメータも戻り値もありません.つまり、これらのテスト方法をpublic void testMehtodName()の形式として宣言する必要があります.これはJUnitでテストメソッドを作成するための統一的な要件であり、自分でTest Suiteを作成しても、フレームワークを自動的に完了させても、そうしなければなりません.
2.あなたのテスト方法の名前は「test(引用符なし)」で始まり、いくつかのアルファベットはすべて小文字でなければなりません.
それ以外に、どのようにあなたのテスト方法を宣言するかには制限はありません.しかし、テストコードは以下の法則に従うことが望ましい.
まずオブジェクトを作成し、メソッドを呼び出し、結果を検証します.
次に、各メソッド機能(JUnitがデフォルトのTest Suiteを作成する方法)を見てみましょう.
Test Suiteメソッド
機能
Constructor TestSuite(Class)
publicのコンストラクション関数があるかどうかを確認します.クラス自体がpublicであるかどうかを確認します.addTestMethod()メソッドを呼び出し、クラスで宣言された各テストメソッドを追加します.このクラスのスーパークラスで宣言されたテストを現在のクラス階層に抽出します.クラスにテストがない場合はwarningをパブリッシュします.
addTestMethod()
isPublicTestMethod()メソッドを呼び出して、このメソッドがメソッドをテストしているかどうかを確認します.テストメソッドの名前が正しいがpublicタイプではない場合は、warningをパブリッシュします.この方法が有効な試験方法である場合、その方法の試験対象を作成し、Test Suiteに追加する.
isPublicTestMethod()
isTestMethod()メソッドを呼び出して、メソッドがメソッドをテストするかどうかを検証します.テストメソッドがpublicであるかどうかを検証し、メソッドがpublicであり、テストメソッドである場合、真を返します.
isTestMethod()
メソッドにパラメータがなく、戻り値がなく、名前が「test」で始まるかどうかを確認します.
JUnitが自動的に作成したTest Suiteの方式は、独立したテストを書くことを促します.これも一般的に受け入れられていますよ.良いテストの作成習慣です.あなたのテストが特定の順序で行われることを期待しないでください.テストの失敗がTest Suiteの他のテストの結果に影響を与えないでください.