JUnit 5 测试可见性和类型化

JUnit 5 test visibility and typing

提问人:divad 提问时间:9/30/2022 最后编辑:James Zdivad 更新时间:10/1/2022 访问量:878

问:

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

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

单元测试 可见性 JUnit5 类型

评论


答:

4赞 johanneslink 9/30/2022 #1

如果引文准确无误,则是错误的。Jupiter 测试方法(没有 JUnit 5 测试方法这样的东西)可以是 ,所以它可以是 ,也可以是 私有的。包私有意味着它没有辅助功能修饰符。privatepublicprotected

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

import org.junit.jupiter.api.Test;

class MyTests {
    @Test
    public void test1() {
    }

    @Test
    protected void test2() {
    }

    @Test
    void test3() {
    }

    @Test
    private void test4() {
    }
}

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

请注意,该类的可访问性修饰符也是如此:包私有和公共是可能的。私有类没有被执行,受保护的类在 Java 中不存在。

评论

0赞 divad 9/30/2022
谢谢。但这还不是全部。package-private 如何减少键入?这让我很困扰。
0赞 divad 9/30/2022
天!找到了答案。语句中的“打字”意味着,减少字母的输入。谢谢。
0赞 divad 10/1/2022 #2

在我目前正在研究的书中,第一行得到了解释。但第二种说法不是我主要关心的。 经过其他搜索,我发现这意味着开发人员可以输入更少的内容,因为该方法使用较少的单词定义。