Junit测试概述
(注:只是记录,不保证所有观点都是正确的)
常见的测试方式分类
- 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望值
- 白盒测试:一般需要写代码,关注于程序执行流程
Junit单元测试属于白盒测试。
使用步骤
- 定义一个测试类(一般放在XXXX.test包下)
- 定义测试方法:可以独立运行(建议方法名:testAdd() 返回值建议用void,参数列表建议空参)
- 给方法加注解@Test
- 导入Junit依赖 一般使用断言操作判断结果
public class CalculatorTest {
@Test
public void add(){
Calculator calculator = new Calculator();
int add = calculator.add(3, 5);
//System.out.println(add);
//断言
Assertions.assertEquals(8,add);
}
}
BeforeEach、BeforeAll、AfterEach与AfterAll
加这些注解的方案一般为public static void …
- BeforeEach和BeforeAll修饰的方案一般用于资源申请
- AfterEach与AfterAll一般用于资源释放
Junit中更换了注解的名称,Junit4中的已经在5中无法使用了
- @BeforeEach (Junit4中为@Before)
- 在每个测试方法之前执行。
- 注解在非静态方法上。
- 可以重新初始化测试方法所需要使用的类的某些属性。
- @BeforeAll (Junit4中为@BeforeClass)
- 在当前类中的所有测试方法之后执行。
- 注解在静态方法上。
- 此方法可以包含一些清理代码。
- @AfterEach (Junit4中为@AfterClass)
- 在每个测试方法之后执行。
- 注解在非静态方法上。
- 可以回滚测试方法引起的数据库修改。
- @AfterAll (Junit4中为@AfterClass)
- 在当前类中的所有测试方法之后执行。
- 注解在静态方法上。
- 此方法可以包含一些清理代码。
如果以上注解都有加上的话,那么执行顺序为 @BeforeAll method -> @BeforeEach method ->@Test method ->AfterEach method ->AfterAll method
退出登录?