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

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

服务器之家 - 编程语言 - Java教程 - Springboot 使用具体化类和配置来缩短单元测试时间

Springboot 使用具体化类和配置来缩短单元测试时间

2022-03-13 16:27timchen525 Java教程

这篇文章主要介绍了Springboot 使用具体化类和配置来缩短单元测试时间,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

具体化类和配置来缩短单元测试时间

我们在写完业务代码之后,都需要编写测试用例来验证代码逻辑是否正确,这样不仅方便自己后期检查,也方便后面接手的人快速测试我们的代码。

编写测试用例时,我们可以通过如下快捷键:ctrl+shift+T,然后会出现如下提示:

Springboot 使用具体化类和配置来缩短单元测试时间

点击,Create New Test....

通常,只是帮助我们生成一个包下对应的类,以及方法名,然后我们在类上面,简单粗暴的添加:

@RunWith(SpringRunner.class)
@SpringBootTest
public class SquirrelConfigTest{
@Test
}

注意:上述注解会将整个项目的类以及配置文件都加载进来,这样每执行一次测试用例,如果项目比较庞大,耗时就会很长。因此,我们可以指定相应要加载的类和配置文件,编写如下:

@RunWith(SpringRunner.class)
@EnableAutoConfiguration
@SpringBootTest(classes = {Test.class, Test2.class})
public class SquirrelConfigTest {
}

很明显上述耗时会短很多。

 

SpringBoot 简单的单元测试

一、为什么写单元测试

单元测试是开发者编写的一小段代码,用于检验目标代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试用于判断某个特定条件或特定场景下某个特定函数的行为。例如,用户可能把一个很大的值放入一个有序List中,然后确认该值出现在List 的尾部。或者,用户可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。

单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

在一般情况下,一个功能模块往往会调用其他功能模块完成某项功能,如业务层的业务类可能会调用多个DAO完成某项业务。对某个功能模块进行单元测试时,我们希望屏蔽对外在功能模块的依赖,以便将焦点放在目标功能模块的测试上。这时模拟对象将是最有力的工具,它根据外在模块的接口模拟特定操作行为,这样单元测试就可以在假设关联模块正确工作的情况下验证本模块逻辑的正确性了。

二、简单的spring boot单元测试的实现

1、首先写一个简单的接口,如下图所示:

Springboot 使用具体化类和配置来缩短单元测试时间

三、编写单元测试

1、打开测试文件夹:

Springboot 使用具体化类和配置来缩短单元测试时间

2、具体代码实现

配置的注解:

Springboot 使用具体化类和配置来缩短单元测试时间

 

Springboot 使用具体化类和配置来缩短单元测试时间

3、正确的情况下,如图所示:

Springboot 使用具体化类和配置来缩短单元测试时间

Springboot 使用具体化类和配置来缩短单元测试时间

错误的情况,如图所示:

因为和预期期望的返回数据不一致,所以报错:

Springboot 使用具体化类和配置来缩短单元测试时间

Springboot 使用具体化类和配置来缩短单元测试时间

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

原文链接:https://blog.csdn.net/timchen525/article/details/81952544

延伸 · 阅读

精彩推荐