15

如何使用 Maven 插件将命令行参数传递给 ScalaTest?我一直在寻找类似 TestNG 的配置,但我在ScalaTest 文档delegateCommandSystemProperties中能找到的最接近的是:

  • 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?

4

1 回答 1

7

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

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

对于environmentVariablessystemProperties- 必须有一个简单的语法也可以工作。如果有人感兴趣,应该可以通过反复试验或阅读源代码来计算。满足我的需求argLine就足够了。

于 2015-05-11T07:11:44.017 回答