如何从junit测试用例中设置env变量



我遵循了如何为maven设置env变量以正确运行测试?并将我的pom配置为:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-plugin</artifactId>
   <version>2.15</version>
   <configuration>
       <systemPropertyVariables>
           <SENDGRID_USERNAME>username</SENDGRID_USERNAME>
           <SENDGRID_PASSWORD>password</SENDGRID_PASSWORD>
       </systemPropertyVariables>
   </configuration>
</plugin>

当我运行mvn test命令时,它给出以下错误,

Error in custom provider, java.lang.IllegalStateException: SENDGRID_PASSWORD env variable must be set.

我做错了什么?

当我进行研究以寻找答案时,我发现了以下几点:ProcessBuilder可以用于为使用它生成的进程设置env。我不知道ProcessBuilder是否对我的情况有帮助,因为我没有生成任何进程。我的项目是maven项目,我使用mvn-test命令运行测试。

有人能告诉我如何为这种情况设置env吗(即maven+junit)

我可以设置properties,但问题是如何设置environment variable,因为我的程序需要env变量。

如果我正确阅读了文档,那么要使用的配置是:

 <environmentVariables>
       <SENDGRID_USERNAME>username</SENDGRID_USERNAME>
       <SENDGRID_PASSWORD>password</SENDGRID_PASSWORD>
 </environmentVariables>

这可能是问题所在吗?

来源:http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#environmentVariables

相关内容

  • 没有找到相关文章

最新更新