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

maven surefire插件也执行排除

王高邈
2023-03-14

我使用maven surefire插件执行集成测试和单元测试的配置如下。。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <executions>
                    <execution>
                        <id>unit-tests</id>
                        <phase>test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <excludes>
                                <exclude>**/*Test.java</exclude>
                                <exclude>**/*TestCase.java</exclude>
                            </excludes>
                            <includes>
                                <include>**/MySuite.java</include>
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>integration-tests</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skip>true</skip>
                            <includes>
                                <include>**/BarSuite.java</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

然而,当执行单元测试时,它似乎运行我的单个测试类以及运行那些相同类的套件。如何将其配置为仅执行我包含的内容?i、 你喜欢套房吗?(我的套件)

谢谢

共有2个答案

国斌斌
2023-03-14

我注意到,即使我不配置它,似乎也会执行iddefault-test

通过使用此id显式配置执行,我可以控制它。在您的情况下,告诉它排除**可能会解决您的问题。

伊光赫
2023-03-14

如果没有构建日志,我无法确定,但根据您的描述,我怀疑这是什么。默认情况下,surefire插件绑定到JAR、WAR和EAR的生命周期。您对配置所做的是添加两个额外的插件执行,但是您没有更改默认执行。通过将-X添加到mvn命令并计算surefire插件执行的次数,您应该能够看到这一点。

要覆盖默认值,请将第一次执行的id更改为“default test”,并查看这是否起作用。

用于覆盖默认执行的Maven文档

 类似资料:
  • 下面是我的pom.xml、testng.xml文件和TestRunners。 下面是我的pom.xml文件 [Utils][ERROR][ERROR]java.lang.NullPointerException在Cucumber.api.testng.AbstractTestngCucumberTests.Scenaries(AbstractTestngCucumberTests.java:31)

  • 我的maven项目在构建应用程序时执行maven-surefire-plugin V2.22.0测试。默认情况下,surefire执行的日志级别是INFO,这个插件使用[org.apache.logging.slf4j.log4JLoggerFactory]。 我不希望我的构建过程在执行:maven-surefire-plugin:2.22.0:test(default-test)时记录这些跟踪

  • 问题内容: 我尝试创建一个eclipse插件,当Eclipse工作台关闭时,该插件会删除一些文件。我从插件项目开始,并添加了一个在此Eclipse关闭钩子中提到的类似符号,它可以终止终止。当我按下Eclipse菜单栏中的特殊按钮(此插件添加)时,将添加侦听器。 如何自动添加它,而无需单击任何菜单项? 问题答案: 使用扩展点来指定要实现的类。这将在Eclipse初始化期间的早期调用。 所以在: 类:

  • 我正在尝试使用shade插件创建一个可执行JAR的简单示例。我逐行浏览了这里的示例,在我的机器上似乎根本没有执行shade插件。 我的阴影POM代码是: 运行“mvn包”后,创建的JAR不包含任何项目依赖项。从调试跟踪来看,似乎从未调用过shade插件。要让shade发挥其魔力,是否还需要一些额外的步骤? 编辑:示例的完整代码位于https://github.com/hutch31/maven-s

  • 我是maven的新手,学习如何以及何时在插件中执行阶段/目标 假设我的pom中有以下代码片段 现在,如果我执行mvn安装,安装之前的modello的所有阶段(以及每个阶段对应的所有目标)都将执行。正当 但是,如果进行以下修改以引入特定目标,则只会执行一个目标,即java目标(因为它位于安装阶段之前的生成源代码阶段)。对吗?

  • 在我当前的项目设置中,maven shade插件的执行非常不稳定。这个插件看起来像是在我构建父模块之后执行的,但是在那个实例中执行之后,它在独立构建子模块时无法执行。 我的父母是 还有孩子pom 以及在具有上述pom的子模块上运行“安装”目标时的构建输出 如您所见,尽管在< code >中定义了执行,maven shade插件并没有执行