我正在编写一个单元测试,以检查 private 方法是否将关闭流。
单元测试调用methodB,并且变量something为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/