当前位置: 首页 > 知识库问答 >
问题:

使用Maven命令运行Junit套件

阎善
2023-03-14

我有多个Junit测试套件(SlowTestSuite、FastTestSuite等)。我只想使用maven命令运行特定的套件。例如

mvn clean install test -Dtest=FastTestSuite -DfailIfNoTests=false

但它不起作用。只是根本不运行任何测试。有什么建议吗。

共有2个答案

穆旭尧
2023-03-14

你错过的关键字是maven-surefire-plugin:http://maven.apache.org/plugins/maven-surefire-plugin/.

用法是:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12.1</version>
        <configuration>
          <includes>
            <include>**/com.your.packaged.Sample.java</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

如果对堆栈溢出进行一点搜索,您可能会发现以下信息:

使用Maven failsafe插件在Maven中运行JUnit4测试套件使用JUnit类别和Maven failsafe插件

此外,您还可以定义配置文件,如fastTest,该配置文件将通过向cmd行添加参数来触发:

mvn package -PfastTests

该配置文件也将包含一些内容。

曹理
2023-03-14

我通过在pom中添加属性实现了这一点:

<properties>
    <runSuite>**/FastTestSuite.class</runSuite>
</properties>

和maven-surefire插件应该是:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <includes>
                    <include>${runSuite}</include>
                </includes>
            </configuration>
        </plugin>

因此,这意味着默认情况下,它将运行FastTestSuite,但您可以使用maven命令运行其他测试,例如SlowTestSuite,如下所示:

mvn install -DrunSuite=**/SlowTestSuite.class -DfailIfNoTests=false
 类似资料:
  • 我已经编写了一个JUnit测试套件,用于运行多个测试用例。 现在我想一次运行我的测试套件类(AllTest.java),以便所有测试都由一个类触发、执行和管理。我知道maven故障保护插件是可用的,但是有没有其他更简单的方法从maven调用JUnit测试套件呢? 我不想使用另一个插件。 这是我当前的maven-故障安全-插件配置:

  • 问题内容: 如何从命令行运行Junit 4.8.1测试套件?另外,我想使用JUnit 4.8引入的类别,有没有一种方法可以从命令行指定要运行的类别。 问题答案: 从4.8开始,无法从命令行指定类别。

  • 我这里有一个小问题:使用MAVEN和Cucumber运行这个项目。 在我的MAVEN项目中,我采用以下结构: 类如下所示: 类类似于以下内容: 我试着跑: 而且它不起作用。 我想使用Maven运行这些测试,并知道是否有可能设置cucumber测试的执行顺序。 我试图在@CucumberOptions中定义功能参数,但它不起作用! 和 并尝试这样做(如其他帖子所建议的): 在surefire插件配置

  • 我正在尝试使用Zerocode使用Junit(4)运行负载测试。通过遵循这些教程,我能够运行现有的Junit测试类 使用零代码框架使用JUnit进行负载测试 我有一个Junit测试套件可以正常工作,我想知道如何使用zerocode来启动这个测试套件,以便它可以运行负载测试所有测试类中的所有测试。上面的例子描述了如何运行选定的测试方法,或者只运行少数测试方法。

  • 问题内容: 我希望能够从命令行运行Junit测试,但是当我运行此命令时 我回来的就是 它是否与Android项目有关?我之前已经运行过该命令,并且没有太多问题。 问题答案: 我只是设法从命令行运行JUnit测试,但是使用adb shell。 命令是 更多细节在这里。