JUnit深入浅出

2125 ワード

JUnitは1つの回帰テストのフレームワークで、プログラマーのテストです——白い箱のテスト、TestCaseクラスを継承してJUnitでテストすることができます
import junit.framework.TestCase;
public class Test extends TestCase{
	public void testAdd(){
		assertEquals(1, 1);
	}
}

 
1、作成したテストクラスはjunitを継承しなければならない.framework.TestCase 2、中のテスト方法の命名はtestで始まるべきで、public voidでなければならなくてしかもパラメータがあることができなくて、さもなくばjunit 3、できるだけ1つのtestXXX方法を使って1つの機能の単一の方法に対してテストを行うことができません4、assertEqualsなどのjunit.framework.TestCaseの中の断言方法でテスト結果が正しいかどうかを判断する
 
JUnitは、テストメソッドを実行する前に必要な条件を初期化するペアのメソッドを提供します.もう1つは、テストが完了した後に初期化の条件setup()---->testXXX()---->tearDown()を削除することです.
import hb.util.SampleCalculator;
import junit.framework.TestCase;

public class TestSample extends TestCase {
	
	public SampleCalculator calculator = null;
	
	public void testAdd(){
		int result = calculator.add(50, 20);
		System.out.println(result);
		assertEquals(70, result);
	}
	
	public void testSubtration(){
		int abc = calculator.subtration(50, 20);
		System.out.println(abc);
		assertEquals(30, abc);
	}
	
	// setUp() 
	@Override
	public void setUp(){
		calculator = new SampleCalculator();
		System.out.println("set up!");
	}
	// tearDown() 
	@Override
	public void tearDown(){
		System.out.println("tearDown");
	}
}

 
ErrorとFailuresの違いは?
 
Errors:プログラム自体を表すエラー(プログラムに論理的な問題がある)
 
import junit.framework.TestCase;
public class ErrorTest extends TestCase{
	public void testError(){
		assertEquals(3, 3);
		int result = 8 / 0;
	}
}

 
Failures:テストに失敗したことを示します(結果が期待値と一致しません)
 
import junit.framework.TestCase;
public class TestFailure extends TestCase{
	public void testFailure(){
		assertEquals(5, 3);
	}
}

 
そこで、テストプログラムを書くときは、まずエラーがないことを確認してから、Failuresにエラーがあるかどうかを見てみましょう.