可以使用Java中的枚举来保证对象的唯一实例,如下所示:
public enum EmmaTest {
;
public static int someStaticMethod() {
return 33;
}
}
如何在这些对象上实现100%的Emma测试覆盖率?可能吗?或者是否可以告诉Emma忽略某些方法?
我能得到的最好的是:
答案 0 :(得分:7)
将以下行添加到任何测试中为我修复了代码覆盖率:
MyEnum.valueOf(MyEnum.VALUE.toString());
显然,关于其价值的争论与实际解决方案不同。由于枚举的构造函数未被调用,我也要求100%覆盖率下降。将上述内容添加到测试中解决了这个问题,没有任何巧妙的反思......
答案 1 :(得分:2)
您的EmmaTest不是单身人士。有0个EmmaTest实例,因此它的构造函数从未使用过,并且无法使用有效值调用valueOf。
BTW:您真的担心valueOf或默认构造函数可能有错误吗?为什么要100%覆盖?