gpt4 book ai didi

java - 如何在运行junit4集成测试之前通过maven部署war?

转载 作者:行者123 更新时间:2023-12-02 09:21:54 25 4
gpt4 key购买 nike

我希望 Maven 在运行 jUnit 测试之前部署 war。

我已经添加了故障安全插件和配置,但测试后部署仍然完成。

测试不是由故障安全插件运行的吗?

<build>
<finalName>testWar</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.16</version>
<configuration>
<systemPropertyVariables>
<wildfly.remote.port>10090</wildfly.remote.port>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.2.1.Final</version>

<configuration>
<hostname>host</hostname>
<port>10090</port>
<username>user</username>
<password>pw</password>
</configuration>

<executions>
<execution>
<id>wildfly-run</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
</goals>

</execution>
</executions>
</plugin>
</plugins>
</build>

最佳答案

您报告的行为表明您的测试正在测试阶段运行,而不是集成测试阶段。这是因为默认情况下 Maven Surefire 和 Maven Failsafe 插件都使用类名约定来区分这两种类型的测试,如下所述:

默认单元测试行为

Maven Surefire Plugin测试阶段运行单元测试。默认情况下,它根据测试的类名选择要执行的测试,如 Maven Surefire Plugin | Inclusions and Exclusions of Tests 中所述。 :

  • “**/Test*.java” - 包括其所有子目录以及以“Test”开头的所有 Java 文件名。
  • “**/*Test.java” - 包括其所有子目录以及所有以“Test”结尾的 Java 文件名。
  • “**/*Tests.java” - 包括其所有子目录以及所有以“Tests”结尾的 Java 文件名。
  • “**/*TestCase.java” - 包括其所有子目录以及所有以“TestCase”结尾的 Java 文件名。

默认集成测试行为

Maven Failsafe Pluginintegration-test阶段运行集成测试测试。默认情况下,它还会根据测试的类名选择要执行的测试,如[Maven Failsafe Plugin | Maven Failsafe Plugin]中所述。测试的包含和排除]( https://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html :

  • “**/IT*.java” - 包括其所有子目录以及所有以“IT”开头的 Java 文件名。
  • “**/*IT.java” - 包括其所有子目录以及所有以“IT”结尾的 Java 文件名。
  • “**/*ITCase.java” - 包括其所有子目录以及所有以“ITCase”结尾的 Java 文件名。

因此,您可能只需要重命名集成测试类以符合上面显示的三个约定之一。

关于java - 如何在运行junit4集成测试之前通过maven部署war?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58634382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com