我需要编写2个单元测试。第一个(比如envVarTrueTest()
)需要设置一个环境变量(比如INFO
)。我在surefire
中的pom.xml
插件属性中将此环境变量设置为
<configuration>
<environmentVariables>
<INFO>infovalue</INFO>
</environmentVariables>
</configuration>
对于第二次单元测试,不应设置环境变量INFO
。我现在不知道如何取消第二次测试的变量。
是否可以通过配置pom.xml
或通过单元测试中的java代码来实现此目的?
答案 0 :(得分:1)
我认为解决这个问题的最佳方法是以不同方式编写测试,并使maven的pom与测试结果无关。 Here's how you get environment variables,你可能已经这样做了。现在让您的受测系统接受getenv获得的java.util.Map
。在您的测试中,伪造这些值。在一次测试中,值被设置,而在另一次测试中则没有。但它在测试中 ,而不是在maven中。