代码之家  ›  专栏  ›  技术社区  ›  Brett Ryan

如何只跳过“compile”和“install”目标而不跳过“test”目标的测试?

  •  6
  • Brett Ryan  · 技术社区  · 14 年前

    我遇到这样一种情况:我们的业务域项目的单元测试需要很长时间才能执行,因为它将数据库设置为已知状态,然后继续执行每个步骤。我知道这可以通过-Dmaven.test.skip=真“在命令行上,但希望仅在NetBeans中为项目配置此项,如果任何人都能说明如何在IDE中进行配置,则全局是可以接受的。

    from the maven docos ).

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>
    </plugins>
    
    5 回复  |  直到 14 年前
        1
  •  7
  •   Kyle W. Cartmell    14 年前

    http://maven.apache.org/general.html#skip-test

    只需指定-Dmaven.test.skip=真当您调用一个目标并且不想执行测试时。

        2
  •  4
  •   fandasson    11 年前

    您可以在项目属性中简单地实现这一点。 在NetBeans中,转到项目属性,在右列中选择Actions。在这里,您可以为每个操作和每个配置(环境)设置属性。

    要跳过测试,请添加属性 maven.test.skip=真

        3
  •  3
  •   Andres Peter Centgraf    7 年前

    • 右键单击您的项目
    • 选择属性
    • 选择Maven操作
    • 添加跳过测试属性

    请参见下图:

        4
  •  1
  •   RonU xtoddx    14 年前

    我看你已经接受了这个问题的答案,但让我提出一个替代方案。

    你所描述的测试是一个集成测试。。。不是单元测试。诚然,它仍然是一个自动化的测试,但是它依赖于外部资源,并且可能需要更长的时间来运行。那是IT的专用标志。

    maven-failsafe-plugin 用于执行集成测试(*信息技术.java而不是*测试.java),并且该插件在 集成测试 生命周期阶段(而surefire 测试

    底线是你可以一直跑到 包裹 lifecycle 不执行长时间运行的测试。

    请注意 集成测试 ,这是有道理的。。。如果要安装新的快照,则可能需要运行完整的测试套件以确保一切正常。

        5
  •  0
  •   mkleint    14 年前

    在项目的基础上,最好的方法是在默认情况下禁用测试执行,并创建一个启用它的概要文件。然后在netbeansui中,打开projectproperties操作面板,在test、testfile和debug test操作中启用概要文件。