1.@Before:
表示该方法在每个测试方法执行前执行一次,可用于一些初始工作。
2.@BeforeClass:
该方法在所有测试方法运行前运行,且只运行一次,添加该注释的方法必须修饰为 public static void 且没有参数。
3.@Test : 表示测试方法。
注意:
1.测试方法必须使用注解 org.junit.Test 修饰。
2.测试方法必须使用 public void 修饰,而且不能带有任何参数。
该方法有两个属性:
a: expected :该属性表示测试方法必须抛出一个异常,且异常的类型必须是该属性要求的类型,否则表示测试方法失败。也叫做异常测试。
例如:@Test(expected=IndexOutOfBoundsException.class)
b:timeout 用于超时测试,表示该测试方法的执行时间如果超过了要求的时间则失败 单位为毫秒
例如:@Test(timeout=100)
4.@Ignore :
表示会被忽略的测试方法
5.@After :
被注释的方法会在每个测试方法执行完成之后执行一次,如果其它的方法抛出了异常,该方法同样会被执行。主要用于释放在@Before方法中初始化的资源。
6.@AfterClass:
功能同@After ,只不过是该方法释放的是@BeforeClass方法初始化的资源。且在所有的测试方法执行完成之后,只执行一次。
7.@Runwith:
测试运行器,放在测试类名之前,用来确定测试类怎么运行的,当不指定这个注解时,使用默认Runner来运行测试代码,即@RunWith(JUnit4.class)。常见的运行器有:
(1)@RunWith(Parameterized.class):参数化运行器,配合@Parameters使用JUnit的参数化功能。
(2)@RunWith(Suite.class)
@SuiteClasses({ATest.class,BTest.class,CTest.class})
测试集运行器配合使用测试集功能。
(3)@RunWith(JUnit4.class):JUnit 4的默认运行器
(4)@RunWith(JUnit38ClassRunner.class):用于兼容junit3.8的运行器
8.@Parameters:
用于JUnit的参数化功能,用来标记准备数据的方法。
一个JUnit 4 的单元测试用例执行顺序为: