1、所有以test开头的方法都会被JUnit自动运行,测试方法名称必须以test开头,没有参数,无返回值,是公开的,可以抛异常。如果采用默认的TestSuite,则测试方法必须是public void testXXX() [throws Exception] {}的形式,并且不能存在依赖关系,因为测试方法的调用顺序是不可预知的。
2、JUnit4 使用 Java 5 中的注解(annotation),以下是JUnit4 常用的几个annotation介绍:
3、@BeforeClass:针对所有测试,全局只执行一次,是第一个执行的,且必须为static void。如下图所示:执行了两个test方法,但是@BeforeClass只输出一次,且输出在最上面,由此可知该注解第一个执行且仅执行了一次。
4、@Before:初始化方法,在测试方法运行之前运行。如下图所示,由于执行了两个test方法,@Before被打印了两次,且均在test方法执行执行。
5、@AfterClass:针对所有测试,全局只会执行一次,而且是最后一个运行,且必须为static void。由下图可知,执行了两个test方法后@AfterClass被打印出来,说明该注解只会执行一次,而且是最后一个运行。
6、@After:释放资源,在测试方法运行之后运行。由下图可知,在两次test测试方法之后都分别执行了@After的方法。
7、@Test:测试方法,在这里可以测试期望异常和超时时间 。具体的实现如下图所示。
8、@Ignore:忽略此测试方法 ,由下图可知没有任何测试方法被执行,该测试方法被忽略。
9、总结:Junit注解的执行顺序依次是@BeforeClass->@Before->@Test->@After->@Before->@Test->@After->@AfterClass。@Ignore会被忽略。