Junit教程

一般创建maven项目,都会自动在pom.xml文件里添加好junit的依赖,去掉scoap。

  • 按照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

 

 

posted on 2017-10-30 16:58  在天成象  阅读(141)  评论(0编辑  收藏  举报