【问题标题】:Why Junit test cases(Methods) should be public? [duplicate]为什么 Junit 测试用例(方法)应该是公开的? [复制]
【发布时间】:2016-08-29 10:24:25
【问题描述】:

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

public class SpiceLoginTest {
    @Test
    public void testShouldVerifyLoginRequest() {
    }  
}

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

    @Test
    void testShouldVerifyLoginRequest() {
    }

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

所以

  1. 幕后发生了什么?

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

【问题讨论】:

    标签: java junit public


    【解决方案1】:

    是的,测试运行器在幕后使用反射来找出您的测试方法是什么以及如何调用它们。

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

    【讨论】:

      【解决方案2】:

      这几乎可以肯定是因为 JUnit 创建了一些 main 类,它会为您调用所有测试方法。要给他们打电话,他们需要公开。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-04
        • 1970-01-01
        • 2015-06-13
        • 1970-01-01
        相关资源
        最近更新 更多