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

Maven配置文件未运行适当的测试

濮阳和泰
2023-03-14

我已经配置了一个配置文件来只运行集成测试,但它仍然在运行所有测试。这是配置:

    <profile>
        <id>integration</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.18.1</version>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <phase>test</phase>
                            <configuration>
                                <includes>
                                    <include>**/*IT.java</include>
                                </includes>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

我试过正则表达式,就像在http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html但我发现这不管用。我怎样才能让测试以IT.java结束?

共有1个答案

岳浩宕
2023-03-14

您没有重新配置surefire运行,而是在生命周期中添加了另一个。这样,surefire:测试运行两次,一次使用默认执行id(默认测试),一次使用新执行(集成测试)

如果您只是想更改正在运行的测试,可以使用:

<profile>
    <id>integration</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <includes>
                        <include>**/*IT.java</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

这只会重新配置现有的执行。

尽管如此,正如khmarbaise已经在评论中写道的那样,简单地使用maven-故障安全插件更有意义。如果您真的想跳过正常的单元测试(无论如何,您为什么要这样做?),您可以在您的配置文件中显式禁用surefire(使用skipTest-配置)。

 类似资料:
  • 这是我在StackOverflow中的第一个问题,所以如果问题不准确请原谅。 我创建了一个maven项目。试图通过maven运行testng.xml,但同样的方法不起作用。低于输出 测试用例的执行并不只是显示构建成功。但是,当我尝试使用TestNG套件运行TestNG.xml时,同样的程序运行正常。 当我给出类名为“demo1test.java”时,代码会按预期运行,但我们总是不能给出以test结

  • 我声明了一些特定于Maven配置文件的属性。我的pom.xml的一部分: 当我通过IntelliJ IDEA 2016启动Junit测试时,我在使用“ci”Maven配置文件时遇到一些问题。我通过“Maven项目”面板激活我的配置文件,然后启动测试。问题是“my.properties.file”属性值等于“foo.xml”,而不是“bar.xml”。 我对命令行没有问题(我可以使用“-Pci”标志

  • 问题内容: 使用Spring Maven上下文,我想基于Maven配置文件运行特定的测试。我想有一种标记测试组的简单方法。如果可能的话,我想使用注释。那里有哪些选项,例如maven命令行参数,maven配置文件规范等。 说我有以下测试: 例: 当然,@ Profile(用于创建Bean)和@ActiveProfile(用于选择特定的配置文件以创建Bean)之类的注释不能用于选择测试。所有测试仅针对

  • 使用Spring maven上下文,我希望运行基于maven概要文件的特定测试。我想有一个简单的方法标记测试组。如果可能的话,我想使用注释。有哪些选项,如maven命令行参数、maven配置文件规范等。 假设我有以下测试: 示例: 下面的精彩答案集中在JUnit的@Category机制上。感谢大家! 另一种方法是通过以下步骤:[1]在maven配置文件中设置一个属性,[2]使用该属性通过标准sur

  • 问题内容: 我在Eclipse中创建了一个新的maven项目,该项目通过使用HtmlUnitDriver和FirefoxDriver来调出一个网页并检查页面标题来运行简单测试。当我运行maven命令mvn test时,这就是我得到的一切: 当我在Eclipse中运行相同的Maven命令时,它显示以下内容: 这是我的pom.xml,供那些想要检查是否可能是问题的人使用: 问题答案: 您是说要添加为P

  • 问题内容: 我正在尝试在我的Spring Boot项目构建中实现一个简单的方案:包括/排除依赖项以及根据环境打包战争或jar。 因此,例如,对于环境包括devtools和package jar,对于包war等。 我知道它不再是基于XML的配置了,我基本上可以在build.gradle中编写if语句,但是有没有推荐的方法来实现这一点? 我可以声明一些常见的依赖项并将它们引用在一个文件中,而不是创建多