千家信息网

如何解决SpringBootTest单元测试报错的问题

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,如何解决SpringBootTest单元测试报错的问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SpringBootTest单元测试
千家信息网最后更新 2024年11月14日如何解决SpringBootTest单元测试报错的问题

如何解决SpringBootTest单元测试报错的问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

SpringBootTest单元测试报错

@RunWith(SpringRunner.class)@SpringBootTest(classes = { DataRulesApplication.class })@EnableAutoConfiguration//@SpringBootTest(classes = { DataRulesApplication.class })public class HuaboAddressTest extends AbstractTestNGSpringContextTests {      @Autowired    private HuaboAddressServiceImpl johnyService;     @Test    public void queryState() {        //johnyService.resetAllDistricts();        long startTime = System.currentTimeMillis();        //    johnyService.resetAllDistricts();        //  johnyService.batchUpdate2();        //  johnyService.batchupdate3();        //johnyService.resetAllDistricts();        johnyService.updateBatch();        long endTime = System.currentTimeMillis();        System.out.println("执行时间:" + (endTime - startTime)); //        long startTime = System.currentTimeMillis();//        johnyService.select1();//        long endTime = System.currentTimeMillis();//        System.err.println("执行时间1:"+(endTime-startTime));//        startTime = System.currentTimeMillis();//        johnyService.select2();//        endTime = System.currentTimeMillis();//        System.err.println("执行时间2:"+(endTime-startTime));    }     @Test    public void check() {      }     @Test    public void register() {    }     @Test    public void detail() {    }     @Test    public void queryCategory() {     }  }

其实只需要在setting中设置运行test的环境即可。

单元测试 @mock和@SpringBootTest使用

在写单元测试的过程中我们会发现需要测试的类有很多依赖,这些依赖的类或者资源又会有依赖,导致在单元测试代码里无法完成构建,我们应对的方法是Mock。简单的说就是模拟这些需要构建的类或者资源,提供给需要测试的对象使用。

一.单元测试工具mock使用

1.引入依赖包

2.mock测试类

二.springboot使用@SpringBootTest单元测试

1.引入依赖包

2.测试类

三.mock和@springBootTest区别

1.mock进行单元测试不依赖spring的bean定义文件,不需要启动web服务,执行起来速度很快。

2.@springBootTest需要启动服务,执行真正的操作,执行速度慢,当需要真正的dao层操作时可选此测试方式。

看完上述内容,你们掌握如何解决SpringBootTest单元测试报错的问题的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0