如何从批处理文件运行多个“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
答
的11个测试我使用的具体运行方式测试案例套件是:
- 在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
这就是我知道到现在为止。如果你发现一个更好的方式做到这一点,请让我们知道;)
不是说这是解决实际问题,但你可以使用'mvn -f \ path \ to \ project \ pom.xml ...'而不是'cd'到projects'目录。 –
我用'.bat''试过了'调用mvn -f myproject \ pom.xml test' ** \ n **'调用mvn -f myproject \ pom.xml test',它的功能就像一个魅力一样。执行何处停止?在你的第一个项目中或在“呼叫”之间?你能提供cmd行的输出吗? –
也许你只需要以批处理模式运行mvn(带-B) – wemu