【问题标题】:Does 100% code coverage mean that the code is correct?100% 的代码覆盖率是否意味着代码是正确的?
【发布时间】:2022-10-04 21:59:43
【问题描述】:

如果你有 100% 的测试覆盖率并且所有测试都通过了,这是否意味着代码可以保证是正确的并且编写更多的测试是没有意义的?

【问题讨论】:

标签: unit-testing tdd


【解决方案1】:

只要您的测试逻辑正确,它就是正确的。

我会举一个最愚蠢的例子......

例如,如果我有一个类(Java):

public class Example {

    public int timesTwo(int x){
        return x*2;
    }

}

通过以下测试(您可以看到它不合逻辑且无用)

public class ExampleTest {

    @Test
    public void timesTwo() {
        new Example().timesTwo(5);
        assertTrue(true);
    }
    
}

大多数覆盖工具会说这个类已经过 100% 的测试! 所以不,覆盖率是需要测试的一个很好的指标;但测试逻辑本身并不确定。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 2017-03-30
    • 1970-01-01
    • 2021-03-28
    • 2011-04-26
    • 2018-07-17
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    相关资源
    最近更新 更多