【问题标题】:Maven/Netbeans Have different testing profiles and environment variablesMaven/Netbeans 有不同的测试配置文件和环境变量
【发布时间】:2012-06-06 21:19:11
【问题描述】:
我们正在尝试为我们的 Java Web 应用程序进行 Selenium 测试。我们希望能够结合 java 函数“System.getProperty”和修改可用于测试的配置文件来快速配置我们的测试。
这样做的原因是我们可以通过简单更改 netbeans 中的下拉框(从 到“服务器名称/详细信息”)来测试不同的服务器。我们的服务器运行诸如快照、RC 和修补程序分支之类的东西,因此这对于跟踪何时引入错误非常有帮助。
我们目前执行此操作的方法是在每次运行之前修改测试变量以针对我们想要的服务器(糟糕!)。
任何想法都会有所帮助
【问题讨论】:
标签:
java
testing
maven
netbeans
selenium
【解决方案1】:
最简单的机制可能是在您的 POM 中创建由系统属性或环境变量激活的profiles。
Maven 文档中的一个示例(为清楚起见,稍作修改):
<profiles>
<profile>
<activation>
<property>
<name>myProperty</name>
<value>test</value>
</property>
</activation>
...
</profile>
</profiles>
您将使用以下方式手动激活:
mvn groupId:artifactId:goal -DmyProperty=test
您可以基于环境变量启用此功能,方法是使用 Maven 将环境变量映射到名称为 env.… 的属性(在 Windows 上使用大小写规范化):
<profiles>
<profile>
<activation>
<property>
<name>env.ENVIRONMENT</name>
<value>test</value>
</property>
</activation>
...
</profile>
</profiles>
你要激活的:
export ENVIRONMENT=test # Does not need to be done every build, just per session
mvn groupId:artifactId:goal