Maven surefire单元测试pom配置

时间:2014-02-07 18:38:41

标签: unit-testing maven pom.xml surefire

我需要编写2个单元测试。第一个(比如envVarTrueTest())需要设置一个环境变量(比如INFO)。我在surefire中的pom.xml插件属性中将此环境变量设置为

<configuration>
    <environmentVariables>
        <INFO>infovalue</INFO>
    </environmentVariables>
</configuration>

对于第二次单元测试,不应设置环境变量INFO。我现在不知道如何取消第二次测试的变量。

是否可以通过配置pom.xml或通过单元测试中的java代码来实现此目的?

1 个答案:

答案 0 :(得分:1)

我认为解决这个问题的最佳方法是以不同方式编写测试,并使maven的pom与测试结果无关。 Here's how you get environment variables,你可能已经这样做了。现在让您的受测系统接受getenv获得的java.util.Map。在您的测试中,伪造这些值。在一次测试中,值被设置,而在另一次测试中则没有。但它在测试中 ,而不是在maven中。