Junits中的Java Private构造函数

时间:2019-07-01 17:23:28

标签: java unit-testing junit constructor private-constructor

我有一个没有几个常量声明,初始化的类,并且我还有一个私有的构造函数。 由于某些原因,我写Junit来实现代码覆盖。 在这里,我使用了builder.setaccessible(true),并且初始化了该类。

在assert语句中,我期望构造函数的长度为1。

该课程的代码覆盖率达到100%。但是我不确定如何。谁能给我一些启示吗?

public class CommonConstants {
  public static final String ABC= "ABC";
  public static final String XYZ= "XYZ";

  private CommonConstants() {}
}

@Test
public void stringTest() {
     final Constructor<?>[] constructors = CommonConstants.class.getDeclaredConstructors();
     constructors[0].setAccessible(true);
     try {
          CommonConstants cc = (CommonConstants) constructors[0].newInstance();
     } catch (InstantiationException e) {
          e.printStackTrace();
     } catch (IllegalAccessException e) {
          e.printStackTrace();
     } catch (InvocationTargetException e) {
          e.printStackTrace();
     }
     Assert.assertEquals(1, constructors.length);
  }

0 个答案:

没有答案