【问题标题】:How to defer Maven test goal after deployment?如何在部署后推迟 Maven 测试目标?
【发布时间】:2014-05-22 16:20:35
【问题描述】:

我正在使用 JBoss 和 WildFly Maven 插件来部署我的应用程序。

<plugins>
    <plugin>
        <groupId>org.wildfly.plugins</groupId>
        <artifactId>wildfly-maven-plugin</artifactId>
        <version>1.0.0.Beta1</version>
    </plugin>
</plugins>

我发现的问题是,如果我的项目中有一些 Junit 测试,它们会在应用程序部署之前执行,从而导致应用程序状态不一致的测试。是否可以在测试阶段之前以某种方式配置此插件以启动?
谢谢

【问题讨论】:

  • 为什么会导致应用状态不一致?运行测试应该独立于部署应用程序。您的设置听起来有些可疑 :-) 此外,部署之前运行测试通常是最佳实践。

标签: maven jboss wildfly


【解决方案1】:

此插件默认与package 阶段一起执行,您可能会在打包应用程序之前尝试运行该插件时遇到问题。作为替代方案,您可以覆盖 maven-surefire-plugin 以在稍后阶段运行您的测试,例如 integration-test,这将在您的应用程序打包后执行。

【讨论】:

    【解决方案2】:

    可以在Maven tutorial 上找到一个实际示例,其中展示了如何包含故障安全插件并将其绑定到集成测试和验证阶段的执行。这样,设计为集成测试的测试(例如以 *IT 结尾)将仅在集成测试阶段执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 2011-01-15
      • 1970-01-01
      相关资源
      最近更新 更多