網頁

2018/3/4

JUnit 使用Test Suite來包裝多個Test Case

JUnit的Suite可用來組織你要執行的Test Case,例如有三個要被測試的類別分別為TestCaseATestCaseBTestCaseC,若要一次執行這三個Test Case,可利用Suite類別來達成。

下面為三個Test Case

TestCaseA

import org.junit.Test;

public class TestCaseA {
  @Test
  public void testCaseA1(){
    System.out.println("testCaseA1()");
  }
}

TestCaseB

import org.junit.Test;

public class TestCaseB {
  @Test
  public void testCaseB1(){
    System.out.println("testCaseB1()");
  }
}

TestCaseC

import org.junit.Test;

public class TestCaseC {
  @Test
  public void testCaseC1(){
    System.out.println("testCaseC1()");
  }
}

建立一個Test Suite類別TestSuite,類別名稱前加上@RunWith(Suite.class),而@SuiteClasses的值為要執行測試的Test Case類別。

在範例中@SuiteClasses的值中只加入了TestCaseA.classTestCaseB.class,所以執行TestSuite的測試時只有TestCaseATestCaseB中有@Test的方法會被執行。

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses(value={TestCaseA.class, TestCaseB.class})
public class TestSuite {

}

在Eclipse中只要在TestSuite上按滑鼠右鍵 -> Run As -> JUnit Test即可執行測試。

而且Suite除了包裝Test Case,也可以包裝其他Suite,所以使用Suite讓組織多個測試案例時非常方便。


參考:

沒有留言:

張貼留言