JUnit 5测试可见性和键入

7fyelxc5  于 2022-11-11  发布在  其他
关注(0)|答案(2)|浏览(114)

我目前正在学习一本JUnit 5书,我需要帮助来理解这一行:
一个测试方法可以是受保护的,也可以是包保护的。最好是使用包保护的,因为这样可以减少输入。

63lcw9qa

63lcw9qa1#

如果引用是准确的,那就是错误的。Jupiter测试方法(没有JUnit 5测试方法这样的东西)可以是private以外的任何东西,所以它可以是publicprotected或包私有。包私有意味着它没有可访问性修饰符。
这意味着运行下面的测试类:

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中不存在保护类。

oyxsuwqo

oyxsuwqo2#

在我目前正在学习的书中,第一行是有解释的。但第二行不是我主要关心的。在其他搜索之后,我发现这意味着开发人员可以输入更少的内容,因为该方法用更少的单词定义。

相关问题