服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - SpringBootTest单元测试报错的解决方案

SpringBootTest单元测试报错的解决方案

2022-01-10 13:23JohnyLin37291 Java教程

这篇文章主要介绍了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() { 
    }  
}

SpringBootTest单元测试报错的解决方案

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

SpringBootTest单元测试报错的解决方案

 

单元测试 @mock和@SpringBootTest使用

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

 

一.单元测试工具mock使用

1.引入依赖包

SpringBootTest单元测试报错的解决方案

2.mock测试类

SpringBootTest单元测试报错的解决方案

 

二.springboot使用@SpringBootTest单元测试

1.引入依赖包

SpringBootTest单元测试报错的解决方案

2.测试类

SpringBootTest单元测试报错的解决方案

 

三.mock和@springBootTest区别

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/lin451791119/article/details/106409812

延伸 · 阅读

精彩推荐