Junit使用説明その2---Junit 3.xのテスト環境の初期化と終了作業


このタイトルを見ると、多くの人が疑問に思うかもしれません.まず、テスト環境の初期化とは、テストを行う前に必要なデータを準備することを意味します.最後には資源の回収などの操作を行う.例えば、I/0を例にとると、現在Nつの方法があり、その後、異なるファイルでファイルを読み取り、その内容を印刷し、これらの方法の効率的な比較を完了するのに時間がかかることを決定します.開始するたびに、システムの現在時間を取得し、テストが完了したら、現在時間も印刷します.この場合、もちろん各テスト方法、開始と終了の場所で印刷することもできますが、これらの方法の個数が多い場合は、各テスト方法を修正しなければなりません.列が面倒ではありませんか.では、この時何を考えましたか.切面向けプログラミングAOP?そうですか.
もし、各テストメソッドが実行前に指定されたメソッドを実行し、実行後に別の指定されたメソッドを実行するとしたら、私たちは手間が省けますか?やはりその言葉:あなたは永遠に最初に問題を発見することはありません.だからJunitはこの機能を提供しました.
どうやって列を作りますか?それはTestCaseのsetup()とtearDown()を書き換えることです.setuup()は、初期化作業、tearDown()は、私がここで言った終了作業を行います.それとも昨日の例に基づいて、テストが始まる前に一言印刷し、テスト後、また一言印刷するとしたら、どう書きますか.コードを見てみましょう
import junit.framework.TestCase;

public class MyTestCase extends TestCase{


	
	
	
	@Override
	protected void setUp() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("befor test ....");
	}

	@Override
	protected void tearDown() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("after test");
	}

	public void testAddition(){
		assertEquals(5,MathTool.addition(2, 3));
	}
	


}

Run as Junit印刷結果を見てください.
befor test ....
after test

では、複数のテスト方法があると仮定すると、setup()とtearDown()は何回カラムを実行しますか?コードを少し修正して、テスト方法を追加しましょう.修正されたコードは次のとおりです.
import junit.framework.TestCase;

public class MyTestCase extends TestCase{


	
	
	
	@Override
	protected void setUp() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("befor test ....");
	}

	@Override
	protected void tearDown() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("after test");
	}

	public void testAddition(){
		assertEquals(5,MathTool.addition(2, 3));
	}
	

	public void testMoreTest(){
		System.out.println(" ");
	}

}

Run as Junitをもう一度見て、テスト結果を見てください.
befor test ....
after test
befor test ....
 
after test

すべてのテストメソッドが実行される前に、実行される前に、Junitは初期化作業と終了作業を行います.このように大幅に軽減されて、私たちのコードの書く量、一部の学生は彼がどのように実の列なのかと聞くかもしれません.申し訳ありませんが、私はソースコードを見て、私も見に行きたくありませんが、経験から言えば、反射+エージェントが実現するはずです.具体的にどのように実現したのかについては、興味のある学生は自分でソースコードを見ることができて、私については、むしろ彼が奇妙なことだと思っています.
TestSuitについては第1章ですでに言及していますが、私はそれを話すつもりはありません.興味のある友達は自分で調べてみるかもしれません.これで、3.xの紹介は句点を打つべきだと思います.次の章からJunit 4について説明します.0の新しい特性---純POJOの、注釈に基づく試験用例.