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

如何在maven surefire运行测试之前执行一次方法

轩辕煌
2023-03-14

我们使用maven surefire插件并行运行测试。${tests.wildcard}由配置文件指定。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.16</version>
    <configuration>
        <forkCount>4</forkCount>
        <reuseForks>false</reuseForks>
        <includes>
            <include>${tests.wildcard}</include>
        </includes>
    </configuration>
</plugin>

我希望在surefire并行运行我的测试之前,每次maven的整个执行过程中只能运行一次方法。我怎么能那么做?

共有1个答案

鲍建业
2023-03-14

您可以有一个特殊的测试用例来执行您的验证代码(如果是这样,则失败)。

然后,该测试用例将由特定的Maven Surefire执行(不包括其他测试)执行,并附加到发生在test阶段(如process-test-classes)之前的Maven阶段:因此,在任何其他测试之前,每个Maven运行有效地调用一次。

然后,正常的test阶段将执行任何其他所需的测试,不包括特殊的init测试。

这种配置的一个示例是:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19</version>
    <configuration>
        <excludes>
            <exclude>**/InitTest.java</exclude>
        </excludes>
    </configuration>
    <executions>
        <execution>
            <id>test-init</id>
            <phase>process-test-classes</phase>
            <goals>
                <goal>test</goal>
            </goals>
            <configuration>
                <test>InitTest</test>
            </configuration>
        </execution>
    </executions>
</plugin>

注任何Surefire执行的全局配置都将排除特殊的init测试。然后将执行一个额外的执行(在test阶段之前),并且只运行init测试(使用 元素,该元素优先于任何其他include/exclude元素)。

因此,您将有以下流程:

    null
 类似资料:
  • 问题内容: 我正在尝试结合以下注释: 像下面的代码: @Before方法中的代码在@Sql批注中的脚本“ dml-parametro.sql”之后运行。 这样做对吗? 对于此解决方案,我使用@After而不是@Before,但我想在测试执行之前而不是之后cdelete表。 我不想使用@SqlConfig。我没有在测试级别上使用Transacional范围,因此我需要在每种测试方法中清除表。如果每个

  • 问题内容: 运行时,输出: 但是,当我再次运行后,所有测试都通过了。 仅当我重置mysql数据库然后首次运行时,测试才会失败。 对于每个请求,我都会做一个请求,以确保在数据库中创建了数据。 谁能帮助我确保测试按顺序运行?那是请求在请求之前运行? 问题答案: 您不能/不应该依赖测试执行顺序。没有定义测试的执行顺序,并且使用测试标志可以排除测试的运行,因此您无法保证它们将完全运行。 例如,以下命令将仅

  • 我最近发现了命令来自动碰撞包版本号并提交更改。这是一个神奇的小发现。 有没有可能在撞击前进行测试 我在google或堆栈搜索“npm version......”中找不到任何东西匹配了太多不相关的结果。并且没有关于文档npm-version中测试的信息 在这个发现之前,我一直在乞求编写一个脚本。为了测试,碰撞版本,然后git提交。 我用的是karma,package.json包含 在测试npm版本

  • 这是我当前的maven-surefire-plugin配置:

  • 本文向大家介绍如何在TestNG中多次执行特定的测试方法(例如5次)?,包括了如何在TestNG中多次执行特定的测试方法(例如5次)?的使用技巧和注意事项,需要的朋友参考一下 我们可以在invocationCount helper属性的帮助下多次执行特定的测试方法(例如5次)。 示例 在Java类文件中,将invocationCount设置为5的方法将导致admin中的Login是一条成功消息,该

  • 这是驱动程序类,它将为每个测试方法创建驱动程序实例。