Junit教程

通常建立maven項目,都會自動在pom.xml文件裏添加好junit的依賴,去掉scoap。java

  • 按照maven的標準,測試類應該放到src/test/java文件下,這樣打包的時候會自動執行全部測試類,測試類名格式爲XXXTest。
  • @BeforeClass方法在測試到這個類時會執行,只執行一次,是靜態方法,@Before是每執行類裏的一個@Test方法就會執行一次。AfterClass和After的區別同樣。因此順序通常是@BeforeClass@Before@Test@After...@Before@Test@After@AfterClass
  • @Ingore的方法不會被執行
  • 下面這個是套件測試,也就是在SuitTest類裏執行run as junit,會依次執行Class1Test,Class1Test
@RunWith(Suite.class)
@Suite.SuiteClasses({ Class1Test.class,Class2Test.class })
public class SuitTest {

	
}
  •   參數化測試,也就是想用多套入參測試某個類的某個方法
@RunWith(Parameterized.class)
public class UserTest {

    private int expected;
    private int first;
    private int second;

    public UserTest(int expectedResult, int firstNumber, int secondNumber) {
        this.expected = expectedResult;
        this.first = firstNumber;
        this.second = secondNumber;
    }

    @Parameters
    public static Collection addedNumbers() {
        return Arrays.asList(new Integer[][] { { 3, 1, 2 }, { 5, 2, 3 },
                { 7, 3, 4 }, { 9, 4, 5 }, });
    }

    @Test
    public void sum() {
        User user = new User();
        System.out.println("Addition with parameters : " + first + " and "
                + second);
        assertEquals(expected, user.sum(first, second));
    }
}
  • 若是指望結果是目標方法拋出某個異常,那註解就是@Test(expected =XXXException.class) 
  • 斷言有:assertEquals/assertTrue/assertFalse/assertNotNull/assertNull/assertNotSame/assertSame/assertArrayEquals
相關文章
相關標籤/搜索