有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaMaven/Netbeans有不同的测试配置文件和环境变量

我们正在尝试为我们的JavaWeb应用程序进行Selenium测试。我们希望能够结合java函数“System.getProperty”和修改可用于测试的概要文件来快速配置测试

这样做的原因是,我们可以通过简单地更改netbeans中的下拉框(从<;default config>;更改为“server name/details”)来测试不同的服务器。我们的服务器运行快照、RC和修补程序分支等功能,因此这对于跟踪引入的bug非常有帮助

我们目前的方法是在每次运行之前修改测试变量,以目标服务器为目标(糟糕!)

任何想法都会有帮助


共 (1) 个答案

  1. # 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