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

时间:2015-06-09 09:07:49

标签: maven batch-file

我需要从另一个程序执行maven测试,在本例中是HP QC / ALM。我想执行特定的测试,所以我写了一个如下所示的.bat文件:

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

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

第一个TestCase按预期执行。我的问题是第一个TestCase后执行停止。 call关键字应该强制执行继续,但这里没有效果。测试成功与否也没有任何区别。

我似乎找不到任何其他建议而不是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项测试

1 个答案:

答案 0 :(得分:0)

the way i use for run specific suite of test cases is:

  1. In the pom.xml, indicate the suites
<?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. in the suite specifi the test cases do you want included. You can include an entire packege if yoou want.
<?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. run a batch file to run the test
@echo off
cls
echo Welcome to .
cd C:\blabla\mavenProyect
call mvn test
echo Press anything to exit :D
Pause>Nul

That's all i know until now. If you found a better for way do this, please let know ;)