SpringBootTest单元测试报错的解决方案
作者:JohnyLin37291
这篇文章主要介绍了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层操作时可选此测试方式。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。