1. Junit最简单的用法案例
- 新建一个类被测试类,里面包含一些测试方法
package junit.util;
/**
* 被测试类,通过Junit对此类的方法进行单元测试
*/
public class Claculate {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public int divide(int a, int b) {
return a / b;
}
}
- 新建一个Junit的测试类用来测试上面的测试方法,新增Junit的测试类方法如下:
package junit.util;
import static org.junit.Assert.*;
import junit.util.Claculate;
import org.junit.Test;
/**
* junit的测试方法必须使用@Test注解
* 测试方法必须以public void修饰,并且不包含参数
*/
public class ClaculateTest {
@Test
public void testAdd() {
/**
* assertEquals这个方法是一个断言方法
* 第一个参数表示预期的结果
* 第二个参数表示程序的执行结果
* 当预期结果与执行结果是一致的时候,则表示单元测试成功
*/
assertEquals(4, new Claculate().add(1, 3));
}
@Test
public void testSubtract() {
assertEquals(4, new Claculate().subtract(9, 5));
}
@Test
public void testMultiply() {
assertEquals(6, new Claculate().multiply(2, 3));
}
@Test(expected=ArithmeticException.class)
public void testDivide() {
assertEquals(3, new Claculate().divide(9, 0));
}
}
上面的这个测试类,分别对被测试类Claculate的四个方法进行了测试,测试是选择使用Junit方式进行执行,如果想要执行单个测试方法,可以选择单个方法进行执行
2.junit中的常用注解及执行顺序
2.1 常用注解
为什么引入注解?
在实际项目中,进行JUnit测试时,通常会涉及到一些初始化的东西,可能有些配置项需要在测试前进行加载的,JUnit提供了一些初始化的方法用于初始化
注解名 | 作用 |
---|---|
@Before | 初始化方法,对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次) |
@After | 释放资源,对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次) |
@Test | 测试方法,在这里可以测试期望异常和超时时间 |
@Ignore | 忽略的测试方法 |
@BeforeClass | 针对所有测试,只执行一次,且必须为static void |
@AfterClass | 针对所有测试,只执行一次,且必须为static void |
2.2 执行顺序
- 一个JUnit4的单元测试用例执行顺序为:
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
- 每一个测试方法的调用顺序为:
@Before -> @Test -> @After;
评论 (0)