How to pass parameter to maven test

后端 未结 3 1539
难免孤独
难免孤独 2021-01-21 01:26

I have One test suite running in two environment. Sometimes, I would like to run tests in localhost:8080 and sometimes at localhost:8585. Jenkins run the tests by \"mvn te

相关标签:
3条回答
  • 2021-01-21 02:08

    try this:

    mvn -Dtest=testName -Dargline="-Dport=portValue"
    

    and portValue will be either 8080 or 8585, and while you have a "port" variable declared in your test code.

    0 讨论(0)
  • 2021-01-21 02:19

    After doing some research, I found the below code:

    <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
            <systemProperties>
              <property>
                <suiteXmlFiles>
                <suiteXmlFile>${testsuite}</suiteXmlFile>
                </suiteXmlFiles>
              </property>
            </systemProperties>
         </configuration>
    </plugin>
    

    Please run the maven command:

    mvn test -Dtestsuite =yourxmlsuitepath
    
    0 讨论(0)
  • 2021-01-21 02:27

    I add a plugin on maven pom.xml

    <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
            <systemProperties>
              <property>
                 <name>fileName</name>
                 <value>${fileName}</value>
              </property>
            </systemProperties>
         </configuration>
    </plugin>
    

    And get the parameter in junit code with

    String fileName = System.getProperty("fileName");
    

    After, I run my tests with -DfileName argument

    mvn clean test -DfileName="config-test.xml"
    

    Now, I can put all configurations in xml file and load appropriate file with the corrects parameters.

    mvn clean test -DfileName="config-test.xml"
    

    or

    mvn clean test -DfileName="config-homolog.xml"
    

    I solved the problem with the tips from Sandra Sukarieh and http://syntx.io/how-to-pass-parameters-to-the-junit-tests-from-the-maven-surefire-plugin/

    Thank you very much

    0 讨论(0)
提交回复
热议问题