欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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)