【问题标题】:Avoid Maven complaints about mock objects without any @Test避免 Maven 抱怨没有任何 @Test 的模拟对象
【发布时间】:2011-09-25 10:07:16
【问题描述】:

Maven 3.x.x 抱怨我用于另一个真实测试的模拟“TestPacket”类:

java.lang.Exception: No runnable methods

如何避免 Maven 抱怨这个问题? 我现在这样做了(在 TestPacket 中):

@Test
public void workaround() {
}

但应该有另一种干净的方式......

感谢您的宝贵时间!

安德鲁

【问题讨论】:

    标签: java maven junit


    【解决方案1】:

    这更像是一个 JUnit 问题而不是 maven 问题。如果您不希望您的 TestPacket 类被 JUnit 视为 JUnit 测试类,请使用 JUnit 的 @Ignore 注释对其(在类级别)进行注释

    【讨论】:

    • 请注意,有些人希望@Ignore-ed 类只是暂时禁用,因为@Ignore javadoc 说:“有时您想暂时禁用一个测试或一组测试。”我经常在禁用测试的代码中搜索@Ignore 来修复它们。很多错误的结果可能会令人不安。此外,这种做法会永久增加 Surefire/Hudson 报告中跳过测试的数量。
    【解决方案2】:

    排除pom中surefire插件配置中的default "**/Test*.java" inclusion rule

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
            <excludes>
                <exclude>**/Test*.java</exclude>
            </excludes>
        </configuration>
    </plugin>
    

    更好的解决方案是仅排除您的 TestPacket 类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-31
      • 2012-09-17
      • 2011-02-10
      • 2013-06-03
      • 2018-05-18
      • 1970-01-01
      • 2019-02-03
      • 2010-10-04
      相关资源
      最近更新 更多