使用Maven传递数据库配置-D的VM参数以进行Junit测试

时间:2012-09-26 12:08:06

标签: maven junit sonarqube

在Eclipse上执行Junit测试用例时,我们通过-D传递用于数据库配置的VM参数,但是当Maven将相同的Junit测试用例上传到Sonar时,它没有工作,因为没有设置VM参数。

我试图在MAVEN_OPTS上通过MVN.sh传递参数,但它无效。

1 个答案:

答案 0 :(得分:0)

不要在命令行上使用系统属性设置数据库配置,而应考虑使用配置文件进行设置。

将这样的内容添加到您的pom.xml:

<profiles>
  <profile>
    <id>sonar</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12.3</version>
          <configuration>
            <systemPropertyVariables>
              <db.user>foo</db.user>
              <db.password>bar</db.password>
            </systemPropertyVariables>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

文档:

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

http://maven.apache.org/plugins/maven-surefire-plugin/examples/system-properties.html