在编写单元测试的时候,需要注意以下几点
① 根据SpringBoot项目Bean装配规则:
这就是TestMain最好放在和工程Application类所在包相同路径下的原因。
② testng如果要注入实例的能力则需要继承AbstractTestNGSpringContextTests类。
③ @SpringBootTest注解启动spring容器,@ComponentScan中使用excludeFilters过滤主工程的启动类。
TestNG插件
检查TestNG插件是否存在
覆盖率插件
插件搜索“Coverage”
变异测试插件
在我们的pom文件下加如下plugin配置:
代码语言:javascript复制<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.5.2</version>
<configuration>
<targetClasses>
<param>/*你需要测试的类所在目录*/</param>
</targetClasses>
<targetTests>
<param>/*你需要测试的单元测试所在目录*/</param>
</targetTests>
<testPlugin>testng</testPlugin>
</configuration>
</plugin>
注: ① targetClasses标签配置目录,比如com.xxx.* ② 如果单元测试框架使用了testNG,一定要加testng,否则变异测试找不到单元测试类,junit4框架则不用。
idea插件自带,带搜索插件“PIT mutation testing”,但不建议用,很难调通!