栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot项目进行单元测试

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot项目进行单元测试

目录
  • `springboot` 项目进行单元测试
    • `Maven` 依赖
    • 测试代码
      • 测试代码一
      • 测试代码二
  • `junit 4` 和 `junit 5` 对比

springboot 项目进行单元测试

版本说明:使用的 springboot 版本是 2.0.9.RELEASE,它默认集成的是 junit 4.12

Maven 依赖

	org.springframework.boot
	spring-boot-starter-test
    test

测试代码 测试代码一
@RunWith(value = SpringJUnit4ClassRunner.class)
@SpringBootTest
public class AppTest {

    @Autowired
    private UserService userService;

    @Test
    public void shouldAnswerWithTrue() {
        List authAndRoleDTOS = userService.selectAuthAndRole("Tom");
        authAndRoleDTOS.forEach(item -> {
            System.out.println(item.getAuthCode());
            System.out.println(item.getAuthName());
        });
    }
}
  • 也可以使用注解 @RunWith(value = SpringRunner.class) 替代 @RunWith(value = SpringJUnit4ClassRunner.class),二者继承关系如下
public final class SpringRunner extends SpringJUnit4ClassRunner {

	public SpringRunner(Class clazz) throws InitializationError {
		super(clazz);
	}
}
测试代码二
@RunWith(SpringRunner.class)
@WebMvcTest
public class DeptController3Test {
    
    @Autowired
    private DeptController deptController;
    
    @Test
    public void fun(){
        System.out.println(deptController);
    }
}
  • @SpringBootTest:告诉 springboot 去寻找一个主配置类(例如带有@SpringBootApplication 的配置类),并使用它来启动 spring 应用程序上下文。该注解会试图去寻找所有可能存在的 bean
  • @RunWith:会为我们构造一个 Servlet 容器运行环境,并在此环境下测试
  • @WebMvcTest:主要用于 Controller 层的测试,只覆盖应用程序的 Controller 层,HTTP 请求和响应是模拟出来的,不会创建真正的连接
junit 4 和 junit 5 对比
junit4junit5特点
@Test@Test声明一个测试方法
@BeforeClass@BeforeAll在当前类的所有测试方法之前执行。注解在 静态方法 上
@AfterClass@AfterAll在当前类中的所有测试方法之后执行。注解在 静态方法 上
@Before@BeforeEach在每个测试方法之前执行。注解在 非静态方法 上
@After@AfterEach在每个测试方法之后执行。注解在 非静态方法
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号