可以通过 Java 中的枚举来保证对象的唯一实例,如下所示:
public enum EmmaTest {
;
public static int someStaticMethod() {
return 33;
}
}
如何在这些对象上实现 100% 的 Emma 测试覆盖率?是否可以?还是可以告诉艾玛忽略某些方法?
我能得到的最好的是:
可以通过 Java 中的枚举来保证对象的唯一实例,如下所示:
public enum EmmaTest {
;
public static int someStaticMethod() {
return 33;
}
}
如何在这些对象上实现 100% 的 Emma 测试覆盖率?是否可以?还是可以告诉艾玛忽略某些方法?
我能得到的最好的是:
将下面的行添加到任何测试中为我修复了代码覆盖率:
MyEnum.valueOf(MyEnum.VALUE.toString());
显然,关于此值的争论与实际解决方案不同。由于未调用枚举的构造函数,我也有 100% 覆盖率的要求。将上述内容添加到测试中解决了我没有任何聪明的反思等...
您的 EmmaTest 不是单例。EmmaTest 的实例为 0,因此它的构造函数从未使用过,也无法使用有效值调用 valueOf。
顺便说一句:你真的担心 valueOf 或默认构造函数可能有错误吗?为什么你想要 100% 的覆盖率?