【问题标题】:Removing redundant JUnit testsuite tests删除多余的 JUnit 测试套件测试
【发布时间】:2011-05-10 16:27:53
【问题描述】:

在我们的 JUnit 测试套件中,我发现了一些不会提高覆盖率的测试,因此应该删除(它们需要时间,但不会真正为测试套件增加价值)。

我想知道有哪些工具可以为我发现冗余测试?

【问题讨论】:

    标签: java junit performance


    【解决方案1】:

    我认为这是对代码覆盖率指标的滥用。仅仅因为测试不会增加度量,它不一定是多余的 - 它可以测试由 LOC 组成的特定执行路径,这些 LOC 被其他几个测试一起覆盖,但代表了其他测试都没有覆盖的行为。请记住:代码行为很大程度上受状态的影响,但我知道没有测试覆盖率工具可以测量状态空间的覆盖率。

    除非您的测试套件的运行时是一个严重的问题,否则您可以利用您的时间做一些比消除可能多余的测试更好的事情。

    【讨论】:

    • 我倾向于同意你的观点(可能是滥用覆盖率指标)。但是还有其他指标,所以我认为应该更广泛地解决这个问题,并关注更多的标准指标,例如条件句的数量。
    【解决方案2】:

    几个月前我使用了 Eclipse 插件Clover。它可以显示每行代码执行了多少次,并在单元测试后突出显示。我认为 Clover 在这一点上可以为您提供帮助。

    【讨论】:

    • 这不是我的真正意思:) 我在 Hudson 上使用 Cobertura 和 IntelliJ 自己的覆盖工具在开发过程中。后者还显示每行通过的次数。但不是来自哪个测试!我想知道哪些测试不会增加更好的覆盖率,而且由于我不是自闭症患者,我自己不记得测试套件在我的代码库中每行通过了多少次。
    • 明白。我希望 Clover 在这几个月里添加了这个非常新的功能:)
    猜你喜欢
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多