Java高级_Day18(Junit单元测试框架,Lambda表达式,函数式接口,方法引用)
Junit单元测试框架
Junit版本:
- Junit4
- Junit5:向后兼容Junit4,必须jdk8以上的版本
Junit单元测试框架的使用:
- 引入Junit单元测试框架的jar包
- 导入
Junit4下载:
链接:https://pan.baidu.com/s/19BupMcJPf7FQZ6WJJQ3OmA
提取码:8d1v
- 创建待测试类
public class TestMethod {
public void save(){
System.out.println("保存成功");
}
public void delete(){
System.out.println("删除成功");
}
public void update(){
System.out.println("修改成功");
}
public void select(){
System.out.println("查询成功");
}
}
- 创建测试类
public class MethodTest {
TestMethod tm = null;
@Before
//在每一个@Test方法执行之前都会执行的方法
public void init(){
tm = new TestMethod();
System.out.println("对象初始化成功");
}
@Test
public void testSave(){
tm.save();
}
@Test
public void testDelete(){
tm.delete();
}
@Test
public void testUpdate(){
tm.update();
}
@Test
public void testSelect(){
tm.select();
}
@After
//在每一个@Test方法执行之后都会执行的方法
public void destroy(){
System.out.println("测试结束,释放资源");
}
}
Junit5
Junit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
JUnit Platform:用于启动测试的基础服务,提供了测试的支持
JUnit Jupiter:包含了junit5新的编程的模型和扩展,主要用于编写测试代码和扩展代码
JUnit Vintage:用于兼容Junix3.x 和Junit4.x的测试
使用:
导入
import org.junit.jupiter.api.*;
/**
* @author Hou
*/
@DisplayName("这是一个Junit5的单元测试")
public class Junit5Demo1 {
TestMethod tm;
//在测试中, 而且实在所有的测试方法执行之前只执行一次
@BeforeAll
public static void start(){
System.out.println("启动测试");
}
// 在每一个测试方法执行之前都会执行的方法
@BeforeEach
public void init(){
tm = new TestMethod();
System.out.println("对象的初始化");
}
@Test
@DisplayName("保存方法的测试")
public void saveTest(){
tm.save();
}
//表明该方法测试当前处于禁用状态,在执行测试中不执行
@Disabled
@Test
@DisplayName("修改方法的测试")
public void update(){
tm.update();
}
@Test
@DisplayName("删除方法的测试")
public void deleteTest(){
tm.delete();
}
@AfterEach
public void destroy(){
System.out