如何从批处理文件运行多个“mvn test”命令?

问题描述:

我需要从另一个程序执行maven测试,在这种情况下是HP QC/ALM。我想执行特定的测试,所以我写了一个.BAT文件看起来像这样:如何从批处理文件运行多个“mvn test”命令?

cd C:\myPath\ 
call mvn -Dtest=myPackage.MyTestClass test 
call mvn -Dtest=myPackage.MyOtherTest test 

首先,我呼吁在pom.xml文件所在的路径。即使.bat文件位于同一目录中,也需要这样做。 秒我打电话给一个TestCase -class的特定扩展,使用多种测试方法。我正在使用JUnit 3. 第三我打电话给另一个特定的TestCase -class。

第一个TestCase按预期执行。我的问题是执行停止在第一个TestCase之后。 call关键字应该强制执行继续,但在此处不起作用。无论测试成功与否,都没有什么不同。

我似乎无法找到任何其他建议,而不是通话关键字来解决此问题。我用错了吗?有谁知道为什么它不起作用?我可以尝试其他解决方案或建议吗?

更新,附加信息:以下输出后

命令行停止执行:

Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 82.964 sec 

Results : 

Tests run: 11, Failures: 0, Errors: 0, Skipped: 0 

这是包含在myPackage.MyTestClass

+0

不是说这是解决实际问题,但你可以使用'mvn -f \ path \ to \ project \ pom.xml ...'而不是'cd'到projects'目录。 –

+0

我用'.bat''试过了'调用mvn -f myproject \ pom.xml test' ** \ n **'调用mvn -f myproject \ pom.xml test',它的功能就像一个魅力一样。执行何处停止?在你的第一个项目中或在“呼叫”之间?你能提供cmd行的输出吗? –

+0

也许你只需要以批处理模式运行mvn(带-B) – wemu

的11个测试我使用的具体运行方式测试案例套件是:

  1. 在pom.xml,指示套房
<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0"> 
.... 
<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.18.1</version> 
       <configuration> 
        <parallel>methods</parallel> 
        <threadCount>10</threadCount> 
        <suiteXmlFiles> 
         <suiteXmlFile>src/test/java/login/suite001</suiteXmlFile> 
         <suiteXmlFile>src/test/java/other/suite002</suiteXmlFile> 
        </suiteXmlFiles> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
    套件中的
  1. specifi测试用例你要包括在内。如果你想要,你可以包含一个完整的包装。
  2. <?xml version='1.0' encoding='UTF-8' ?> 
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
    <suite name="suite100LoginCliente" verbose="1" > 
        <test name="testName001" > 
         <packages> 
          <package name="login" /> 
         </packages> 
        </test> 
    </suite> 
    
    1. 运行一个批处理文件来运行测试
    2. @echo off 
      cls 
      echo Welcome to . 
      cd C:\blabla\mavenProyect 
      call mvn test 
      echo Press anything to exit :D 
      Pause>Nul 
      

      这就是我知道到现在为止。如果你发现一个更好的方式做到这一点,请让我们知道;)

    开始=>
开始=>