2013-04-11 17 views
11

Wie übergebe ich Befehlszeilenargumente an ScalaTest mit seinem Maven-Plugin? Ich war auf der Suche nach so etwas wie die TestNG delegateCommandSystemProperties Konfiguration, aber die nächsten, die ich in ScalaTest documentation waren gefunden:ScalaTest: Übergeben Sie Befehlszeilenargumente an ScalaTest maven goal

  • argLine: Option zusätzliche JVM-Optionen angeben, an den gegabelten Prozess passiert
  • environmentVariables: Zusätzliche Umgebungsvariablen übergeben zu dem gegabelten Prozess
  • systemProperties: dieses überflüssig zu dem gegabelten Prozess Zusätzliche Systemeigenschaften

Aber ist das nicht passieren? Zum Beispiel, wenn ich will environment=development passieren, ich brauche die folgende in pom.xml angeben:

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

und führen mvn test -Denv=development. Gibt es eine einfachere Möglichkeit, Befehlszeilenargumente direkt an ScalaTest zu übergeben?

+0

Upvoted dies vor fast zwölf Monaten. Ich warte immer noch auf eine Antwort. Bill (Venners) bist du da draußen? – javadba

Antwort

5

Es ist nicht notwendig, <argLine> im Pom zu definieren. Aber es ist sicherlich nicht intuitiv zu erfassen, noch gut dokumentiert, nur eine einfache Beispielverwendung in die Dokumentation hinzufügen müssen.

Alles, was Sie für die Weitergabe von Systemeigenschaften an einen Maven-Test benötigen, ist: test -Dsuites=com.company.somepackage.SomeSpec "-DargLine=-Denv=env001 -Dgroup=default -DmaxTests=10".

Für environmentVariables und systemProperties - es muss eine einfache Syntax, die auch funktioniert. Sollte es möglich sein, entweder aus Versuch und Irrtum herauszufinden oder den Quellcode zu lesen, wenn jemand interessiert ist. Für meine Bedürfnisse argLine ist genug.