3

可以通过 Java 中的枚举来保证对象的唯一实例,如下所示:

public enum EmmaTest {

    ;

    public static int someStaticMethod() {
        return 33;
    }

}

如何在这些对象上实现 100% 的 Emma 测试覆盖率?是否可以?还是可以告诉艾玛忽略某些方法?

我能得到的最好的是:

在此处输入图像描述

4

2 回答 2

7

将下面的行添加到任何测试中为我修复了代码覆盖率:

MyEnum.valueOf(MyEnum.VALUE.toString());

显然,关于此值的争论与实际解决方案不同。由于未调用枚举的构造函数,我也有 100% 覆盖率的要求。将上述内容添加到测试中解决了我没有任何聪明的反思等...

于 2014-09-24T14:07:51.083 回答
2

您的 EmmaTest 不是单例。EmmaTest 的实例为 0,因此它的构造函数从未使用过,也无法使用有效值调用 valueOf。

顺便说一句:你真的担心 valueOf 或默认构造函数可能有错误吗?为什么你想要 100% 的覆盖率?

于 2011-08-11T16:35:06.283 回答