Java JUnit单元测试
程序员文章站
2022-04-29 15:06:24
...
一、
JUnit4通过注解的方式来识别测试方法。
主要注解:
@Test //测试方法
@BeforeClass //全局只执行一次,且第一个运行
@AfterClass //全局只执行一次,且最后一个运行
@Before //在测试方法运行之前运行
@After //在测试方法运行之后运行
@Ignore //忽略此方法
二、例子
package test;
import org.junit.*;
public class Junit_Test {
// @Test //测试方法
// @BeforeClass //全局只执行一次,且第一个运行
// @AfterClass //全局只执行一次,且最后一个运行
// @Before //在测试方法运行之前运行
// @After //在测试方法运行之后运行
// @Ignore //忽略此方法
@AfterClass //全局只执行一次,且最后一个运行
public static void Test_0()
{
System.out.println("Test_0:@AfterClass //全局只执行一次,且最后一个运行 ");
}
@BeforeClass //全局只执行一次,且第一个运行
public static void Test_1()
{
System.out.println("Test_1:@BeforeClass //全局只执行一次,且第一个运行");
}
@Before //在测试方法运行之前运行
public void Test_2()
{
System.out.println("Test_2:@Before //在测试方法运行之前运行");
}
@After //在测试方法运行之后运行
public void Test_3()
{
System.out.println("Test_3:@After //在测试方法运行之后运行");
}
@Ignore //忽略此方法
@Test //测试方法
public void Test_4()
{
System.out.println("Test_4:@Ignore //忽略此方法");
}
@Test //测试方法
public void Test_5()
{
System.out.println("Test_5:@Test //测试方法");
}
}
结果:
Test_1:@BeforeClass //全局只执行一次,且第一个运行
Test_2:@Before //在测试方法运行之前运行
Test_5:@Test //测试方法
Test_3:@After //在测试方法运行之后运行
Test_0:@AfterClass //全局只执行一次,且最后一个运行
三、其他
测试异常:
检查被测方法是否抛出ArithmeticException异常
例如:除数是0,那么必然要抛出“除0异常”。因此,我们有必要对其进行测试。
@Test(expected=ArithmeticException.class)
限时测试:
针对逻辑复杂,循环嵌套较深、出现死循环的程序。
限时测试:给被测试的函数设定一个执行时间,超过这个时间,测试的函数就会被系统强行终止,并返回该函数因超时而结束。
@Test(timeout = 1000)