java - 私有(private)构造函数 junit/emma 的覆盖范围

标签 java junit junit4 emma

<分区>

我如何为私有(private)构造函数编写@test 类。我也想用 emma 工具覆盖它。

public final class Product {

    private Product() {

    }
}

谁能推荐一个简单的方法?

谢谢。

最佳答案

测试私有(private)方法的最好方法是使用反射

有很多方法,但我会简单地做到这一点;

@Test
    public void testConstructorIsPrivate() throws Exception {
      Constructor constructor = Product.class.getDeclaredConstructor();
      assertTrue(Modifier.isPrivate(constructor.getModifiers()));
      constructor.setAccessible(true);
      constructor.newInstance();
    }

这将在运行覆盖工具 emma 时覆盖构造函数。

关于java - 私有(private)构造函数 junit/emma 的覆盖范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19699634/

相关文章:

java - 返回 HashSet 中对象的连接某些字段的字符串

java - 为什么我的程序不返回表达式的值?

java - 运行 gradle 测试时找不到属性文件

java - 如何在 Junit 测试中测试构造函数?

Android Studio 中的 AndroidJunit4.class runner 不调用 @Test 方法

java - Log4j 不创建日志文件,仅创建控制台

java - ANDROID - session /数据库连接管理(社交应用)

java - 注册到 JUnit RunListener.testRunStarted

java - 如何在运行时加载 .class 文件以与 JUnitCore.runclasses() 一起使用

java - 非守护线程输出有时会消失,直到使用 join()