JUnit 5 测试可见性和类型

div*_*vad 4 junit unit-testing visibility typing junit5

我目前正在学习一本 JUnit 5 书,我需要帮助来理解这一行:

测试方法可以受保护,也可以受包保护。首选是使用受保护的包,因为这样可以减少打字次数。

joh*_*ink 5

如果引用准确的话,那就是错误的。Jupiter 测试方法(\xe2\x80\x99s 没有 JUnit 5 测试方法之类的东西)可以是除 之外的任何方法private,因此它可以是publicprotected包私有。私有包意味着它没有可访问性修饰符。

\n

这意味着运行以下测试类:

\n
import org.junit.jupiter.api.Test;\n\nclass MyTests {\n    @Test\n    public void test1() {\n    }\n\n    @Test\n    protected void test2() {\n    }\n\n    @Test\n    void test3() {\n    }\n\n    @Test\n    private void test4() {\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

将执行 test1、test2 和 test3,但不执行 test4。\ntest3 是首选。

\n

请注意,这同样适用于类的可访问性修饰符:包 private 和 public 都是可能的。私有类没有被执行,Java中不存在受保护的类。

\n