02_Junit誤区------setup and teardown
1690 ワード
1.setuup tearDownはテストクラスで一度しか実行しないと思っていたが、今日テストしてみたら、
各テストメソッドの前にsetUpを1回実行し、メソッドの後にtearDownを実行します.
テストコードを見てください.
import static junit.framework.Assert.*;
テスト結果
と書く
setup....
teardown....
setup....
teardown....
setup....
teardown....
setup....
teardown....
2.クラス全体の実行前に1回、クラス全体の実行後に1回実行する方法はありますか?
Junit 3はこのような方法を提供していません.junit 4はあります.
コードを見る
import junit.framework.TestCase;
実行結果
と書く
before class
after class...
一度実行しました.
注意@BeforeClassと@AfterClassの方法もtestで始まる
各テストメソッドの前にsetUpを1回実行し、メソッドの後にtearDownを実行します.
テストコードを見てください.
import static junit.framework.Assert.*;
import junit.framework.TestCase;
public class CalculatorTest extends TestCase {
private Calculator cal = null;
protected void setUp() throws Exception {
System.out.println("setup....");
cal = new Calculator();
}
protected void tearDown() throws Exception {
System.out.println("teardown....");
}
public void testAdd() {
assertEquals(5, cal.add(2, 3));
}
public void testMinus() {
assertEquals(8, cal.minus(10, 2));
}
public void testMultiply() {
assertEquals(20, cal.multiply(10, 2));
}
public void testDivide() {
assertEquals(5, cal.divide(10, 2));
}
}
テスト結果
と書く
setup....
teardown....
setup....
teardown....
setup....
teardown....
setup....
teardown....
2.クラス全体の実行前に1回、クラス全体の実行後に1回実行する方法はありますか?
Junit 3はこのような方法を提供していません.junit 4はあります.
コードを見る
import junit.framework.TestCase;
import org.junit.AfterClass;
import org.junit.BeforeClass;
public class BeforeClassTest extends TestCase{
@BeforeClass
public void testBeforeClass(){
System.out.println("before class");
}
public void testAdd() {
}
public void testMinus() {
}
public void testMultiply() {
}
public void testDivide() {
}
@AfterClass
public void testAfterClass(){
System.out.println("after class...");
}
}
実行結果
と書く
before class
after class...
一度実行しました.
注意@BeforeClassと@AfterClassの方法もtestで始まる