我正在编写一个单元测试,以检查 private 方法是否将关闭流。

单元测试调用methodB,并且变量some​​thing为null

单元测试不会模拟测试中的类

private 方法在我正在调用的 public 方法中。

在eclipse中使用emma(通过eclemma插件),即使方法中的代码是

例如

public methodA(){

    if (something==null) {
        methodB(); //Not displayed as covered
    }
}

private methodB(){
    lineCoveredByTest; //displayed as covered
}

为什么该方法调用不会被突出显示为已覆盖?

最佳答案

我发现EMMA的eclipse插件有很多bug,并且与您描述的插件有相似的经验。最好单独使用EMMA(如果需要,可以通过ANT)。确保始终重新生成EMMA生成的元数据文件,以避免合并混乱(我怀疑这是eclipse插件的问题)。

关于unit-testing - 当方法中的代码被emma覆盖时,为什么未显示该方法调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56373/

10-12 00:38
查看更多