ScalaTest:将命令行参数传递给ScalaTest maven目标

时间:2013-04-11 15:09:19

标签: scala maven scalatest

如何使用maven插件将命令行参数传递给ScalaTest?我正在寻找像TestNG的delegateCommandSystemProperties配置之类的东西,但我在ScalaTest documentation中找到的最接近的是:

  • argLine:指定要传递给分叉进程的其他JVM选项的选项
  • environmentVariables:要传递给分叉进程的其他环境变量
  • systemProperties:要传递给分叉进程的其他系统属性

但这不是多余的吗?例如,如果我想传递environment=development,我需要在pom.xml中指定以下内容:

<plugin>
  <groupId>org.scalatest</groupId>
  <artifactId>scalatest-maven-plugin</artifactId>
  <configuration>
    <argLine>-Denvironment=${env}</argLine>
  </configuration>
</plugin>

然后运行mvn test -Denv=development。是否有更简单的方法将命令行参数直接传递给ScalaTest?

1 个答案:

答案 0 :(得分:7)

无需在pom中定义<argLine>。 但它确实不直观,也没有很好的记录,只需要在文档中添加一个简单的示例用法。

将系统属性传递给maven测试所需的只有:test -Dsuites=com.company.somepackage.SomeSpec "-DargLine=-Denv=env001 -Dgroup=default -DmaxTests=10"

对于environmentVariablessystemProperties - 必须有一个简单的语法。如果有人感兴趣,应该可以从试验和错误中找出或阅读源代码。根据我的需要argLine就足够了。