JUnitスタート

1966 ワード


JUnitスタート


 
JUnitでテストを書くにはどうすればいいですか?
最も簡単な例は次のとおりです.1、TestCaseのサブクラスを作成します.
 
package junitfaq;
import java.util.*;
import junit.framework.*;
public class SimpleTest extends TestCase {
public SimpleTest(String name) {
super(name);
}

2、テスト方法を書いて所望の結果を断言する.
 
public void testEmptyCollection() {
Collection collection = new ArrayList();
assertTrue(collection.isEmpty());
}

注意:JUnitが推奨する方法はtestをテスト対象の方法の先頭とし、これらの方法を自動的に見つけてテストすることができます.
3、suite()メソッドを書きます.反射を使用して、testXxxxメソッドをすべて含むテストキットを動的に作成します.
 
public static Test suite() {
return new TestSuite(SimpleTest.class);
}

4、1つのmain()方法を書いて、テキストランナの方式で便利な運行テスト:
 
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
}

5、テストを実行する:
テキストで実行:
 
java junitfaq.SimpleTest 

合格したテストの結果は次のとおりです.
.Time: 0
OK (1 tests)
Time上の小点はテスト個数を表し、テストに合格すればOKを表示します.そうでなければ、小さな点の後ろにFを付けて、テストに失敗したことを示します.毎回のテスト結果はOKであるべきで、このようにしてやっとテストが成功したことを説明することができて、もし成功しなければすぐにヒント情報に基づいて修正しなければなりません.JUnitがテストが成功しなかったと報告した場合、失敗(failures)とエラー(errors)を区別します.失敗はあなたのコードのassertメソッドの失敗によるものです.エラーはコード異常によって発生します.
 
ArrayIndexOutOfBoundsException。 

グラフィックで実行:
 
java junit.swingui.TestRunner junitfaq.SimpleTest 

通過したテスト結果は、グラフィックインタフェースの緑のバー部分にあります.
以上は最も簡単なテストサンプルです.実際のテストでは、あるクラスをテストする機能は、常に共通の操作を実行する必要があります.完了後、使用したリソース(例えば、ネットワーク接続、データベース接続、開いているファイルを閉じるなど)を破棄する必要があります.TestCaseクラスはsetuupメソッドとtearDownメソッドを提供しています.setuupメソッドの内容は、あなたが作成したTestCaseサブクラスのtestXxxxメソッドをテストする前に実行され、tearDownメソッドの内容はtestXxxxメソッドが終了するたびに実行されます.これは初期化コードを共有するとともに,各テストコード間で生じる可能性のある相互影響を排除する.