2015-06-09 158 views
1

我需要從另一個程序執行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

回答

0

的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> 
套件中的
  • specifi測試用例你要包括在內。如果你想要,你可以包含一個完整的包裝。
  • <?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> 
    
  • 運行一個批處理文件來運行測試
  • @echo off 
    cls 
    echo Welcome to . 
    cd C:\blabla\mavenProyect 
    call mvn test 
    echo Press anything to exit :D 
    Pause>Nul 
    

    這就是我知道到現在爲止。如果你發現一個更好的方式做到這一點,請讓我們知道;)

    相關問題