我正在编写单元测试来检查私有(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 插件有很多问题,并且有过与您描述的相似的经历。最好单独使用 EMMA(如果需要,通过 ANT)。确保始终重新生成 EMMA 生成的元数据文件,以避免合并混淆(我怀疑这是 eclipse 插件的问题)。
关于unit-testing - 当方法中的代码被 emma 覆盖时,为什么方法调用显示为未覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56373/