运行测试时出现InaccessibleObjectException

时间:2019-08-11 13:35:18

标签: java junit

我为以下项目创建了第一个测试:

package my.module.sub;

import org.junit.jupiter.api.Test;

public class FirstTest {

  @Test
  void firstTest() {
    System.out.println("Tests are now running");
  }

}

但是当我运行测试时,出现以下错误:

java.lang.reflect.InaccessibleObjectException: Unable to make void my.module.sub.FirstTest.firstTest() accessible: module my.module does not "opens my.module.sub" to unnamed module @7dc0f706

看来,如果我将opens my.module.sub添加到module-info.java文件中,则测试可以正常运行。

显然,我宁愿不在那儿。那么防止这种错误发生的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

原来,该问题是由于firstTest()未公开。因此,在运行测试时,JUnit无法访问该方法。

最后,我要解决此问题所需要做的就是将firstTest()更改为:

public void firstTest()