如何在Eclipse上使用maven active-profiles和testng执行

时间:2017-06-29 07:15:03

标签: java eclipse maven maven-profiles testng-eclipse

在我的pom.xml上,我创建了一些配置文件。在我的Eclipse项目中,我选择了必须用于运行TestNG的配置文件。测试必须做不同的事情取决于配置文件。我尝试使用${project.activeProfiles[0].id},但对我不起作用。

Eclipse选择了个人资料:

Selected profiles

TestNG执行错误:

TestNG error

MVN命令:

当我运行mvn help:active-profiles命令时,结果为:

The following profiles are active:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

mvn help:all-profiles命令结果为:

[INFO] Listing Profiles for Project: com.myproject:project:jar:1.0
  Profile Id: UAT-Dev-Mt (Active: false , Source: pom)
  Profile Id: UAT-Dev-Bg (Active: false , Source: pom)
  Profile Id: PROD-Dev-Mt (Active: false , Source: pom)
  Profile Id: PROD-Dev-Bg (Active: false , Source: pom)
  Profile Id: Acceptance (Active: false , Source: pom)
  Profile Id: Regression (Active: false , Source: pom)
  Profile Id: CriticalPath (Active: false , Source: pom)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

为什么Eclipse上的TestNG无法使用这个选定的配置文件和maven pom变量?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

TestNG eclipse插件与Maven没有很好的集成,TestNG Eclipse插件提供的有限功能只是准备好当前活动配置文件的pom.xml中定义的系统属性(和/或环境变量)。 其他任何事情,比如个人资料特定的目标都不会被执行。

所以回到你的情况,如果你只想要配置文件管理系统属性,你可以选择一个活动的配置文件,然后简单地运行testng测试,这些属性将被注入到运行时的testng进程中。其他任何事情,尚不支持。