如何将测试覆盖率添加到私有构造函数?
2022-08-31 08:30:58
这是代码:
package com.XXX;
public final class Foo {
private Foo() {
// intentionally empty
}
public static int bar() {
return 1;
}
}
这是测试:
package com.XXX;
public FooTest {
@Test
void testValidatesThatBarWorks() {
int result = Foo.bar();
assertEquals(1, result);
}
@Test(expected = java.lang.IllegalAccessException.class)
void testValidatesThatClassFooIsNotInstantiable() {
Class cls = Class.forName("com.XXX.Foo");
cls.newInstance(); // exception here
}
}
工作正常,类已测试。但 Cobertura 说,该类的私有构造函数的代码覆盖率为零。我们如何将测试覆盖率添加到这样的私有构造函数中?