• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

用maven-surefire-plugin解决junit单元测试通用配置(VM options, JVM配置,环境变量配置,-D配置)问题

武飞扬头像
samuBO
帮助9

项目中会有很多的配置直接在启动命令行中,比如Idea的VM options, -D-XX 等配置
,这些配置往往影响到项目的运行,比如apollo配置,但是在使用springboot和junit左单元测试时,每次开启一个新的测试用例都需要将命令复制一遍,很麻烦

这时可以使用maven-surefire-plugin进行通用配置

具体用法

pom.xml
此例:比如说读取apollo配置

 <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13</version>
    </dependency>
  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-test</artifactId>
        <version>2.2.10.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>5.2.9.RELEASE</version>
    </dependency>

<!-- 主要添加下面的plugin-->
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	  <artifactId>maven-surefire-plugin</artifactId>
	  <configuration>
	      <argLine>
	          -Denv=FAT
	          -Dapollo.cluster=test
	          -Dapollo.meta=http://127.0.01:8080
	      </argLine>
	  </configuration>
</plugin>
学新通

java代码测试

@RunWith(SpringJUnit4ClassRunner.class)
@ComponentScan(basePackages = {"cn.samubo.boot"})
@SpringBootTest(classes = Application.class)
public class BaseTest {

    @Autowired
    private ApplicationContext applicationContext;

    @Before
    public void init() {
    }
    @Test
    public void testEnv() {
        Environment environment = applicationContext.getEnvironment();
        System.out.println("env: "   environment.getProperty("env"));
        System.out.println("apollo.cluster:"   environment.getProperty("apollo.cluster"));
        System.out.println("apollo.meta:"   environment.getProperty("apollo.meta"));
    }
}
学新通

此时就可以读取出来值了
学新通

maven-surefire-plugin:
还有很多配置:
学新通

https://www.shuzhiduo.com/A/xl56w8m9dr/

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhacke
系列文章
更多 icon
同类精品
更多 icon
继续加载