unit-testing - JUnit 5 测试可见性和类型

标签 unit-testing junit visibility junit5 typing

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

A test method can be either protected or package protected. The preferred is to use package protected as that leads to less typing.

最佳答案

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

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

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 是首选。

请注意,类的可访问性修饰符也是如此:包 private 和 public 都是可能的。私有(private)类不会被执行,Java 中不存在 protected 类。

关于unit-testing - JUnit 5 测试可见性和类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73899923/

相关文章:

ios - 测试 NSURLConnection 模拟对象与实现

java - 如何在HyperSQL中支持SqlServer的 ".."?

java - Java 测试是否有某种 "hidden @Ignore"

java - 如何演示java多线程可见性问题?

css - 对于这种情况,最好的 css 属性是什么

android - 在Android中Visibility.GONE是为parent Layout设置的,其中有一个Button。是否会为该按钮触发 Click 事件?

python - 断言不相等的相同数据帧 - Python Pandas

python - Django 测试数据库不返回任何内容

android - 如何在 Android Studio v0.5.2 中运行单独的测试方法

java - AssertJ - 方法 isEqualToComparingFieldByFieldRecursively 不适用于 RuntimeException 对象