ScalaTest: pass command line arguments to ScalaTest maven goal

maven, scala, scalatest

Solution

There is no need for defining `<argLine>` in the pom. But it's surely not intuitive to figure, nor well documented, just need to add a simple example usage into the docs.

All you need for passing system properties to a maven test is: `test -Dsuites=com.company.somepackage.SomeSpec "-DargLine=-Denv=env001 -Dgroup=default -DmaxTests=10"`.

For `environmentVariables` and `systemProperties` - there has got to be a simple syntax that works too. Should be possible to figure from either trial and error or reading the source code if anyone's interested. For my needs `argLine` is enough.

Problem

How do I pass command line arguments to ScalaTest using its maven plugin? I was looking for something like TestNG's `delegateCommandSystemProperties` configuration, but the closest I could find in ScalaTest documentation were: - `argLine`: Option to specify additional JVM options to pass to the forked process - `environmentVariables`: Additional environment variables to pass to the forked process - `systemProperties`: Additional system properties to pass to the forked process But isn't this redundant? For example if I want to pass `environment=development`, I need to specify the following in `pom.xml`: ``` <plugin> <groupId>org.scalatest</groupId> <artifactId>scalatest-maven-plugin</artifactId> <configuration> <argLine>-Denvironment=${env}</argLine> </configuration> </plugin> ``` and then run `mvn test -Denv=development`. Is there a simpler way to pass command line arguments to ScalaTest directly?

Original source