为什么Junit测试用例(方法)应该公开?

Gur*_*der 3 java junit

我只是想知道为什么测试用例(测试方法)应该像这样公开

public class SpiceLoginTest {
 @Test
 public void testShouldVerifyLoginRequest() {
 }  }
Run Code Online (Sandbox Code Playgroud)

但是如果我从此方法中删除公共访问说明符

  @Test
  void testShouldVerifyLoginRequest() {
 }
Run Code Online (Sandbox Code Playgroud)

输出:java.lang.Exception:方法testShouldVerifyLoginRequest()应该是公共的

所以

1)幕后发生了什么?

2)是使用反射还是什么?

提前致谢

Thi*_*ilo 5

是的,测试运行人员正在幕后进行反射,以了解您的测试方法以及如何调用它们。

如果方法不是public,则调用它们可能会失败(因为SecurityManager会否决该方法)。