1. 添加maven插件
<!-- 单元测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
2. 在pom.xml中添加多环境配置
我们添加了专门跑单元测试的配置
<project>
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
<profile>
<id>devjunit</id>
<properties>
<profiles.active>devjunit</profiles.active>
</properties>
</profile>
<profile>
<id>testjunit</id>
<properties>
<profiles.active>testjunit</profiles.active>
</properties>
</profile>
</profiles>
</project>
3. 修改bootstrap-devjunit.yml
这里我们需要把注册中心和配置中心都禁用掉,结合mock,可以避免服务间的相互依赖,影响测试结果。
spring:
cloud:
config:
enabled: false
discovery:
enabled: false
profiles:
active: @profiles.active@
eureka:
client:
enabled: false
@profiles.active@ 和上一节中的配置对应,可以通过以下mvn命令指定环境:
mvn test -P devjunit
4. 替换yml文件中的变量
通过maven-resources-plugin插件,可以替换yml文件中的变量@profiles.active@。
在ide中运行服务时,可能会提示不合法的字符“@profiles.active@”,此时需要运行命令 mvn compile 。
该命令会通过以下插件把上面的变量替换为默认值“dev”,并拷贝到target目录中。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>default-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>target/classes</outputDirectory>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
<includes>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.mmdb</include>
</includes>
</resource>
</resources>
<!-- 不替换下面扩展名的文件 -->
<nonFilteredFileExtensions>
<nonFilteredFileExtension>mmdb</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</execution>
</executions>
</plugin>
5 在jenkins中运行单元测试
在jenkins中添加以下步骤:
6 报告分析配置
在jenkins中安装插件"Warnings Next Generation",
添加一个“Post-build Actions”:Record compiler warnings and static analysis results, 选择junit:
完成。