JUnit5 테스트 클래스와 함수는 기본 패키지 가시성을 가져야 합니다.

 

JUnit5는 모든 것을 public으로 요구하는 JUnit4 보다 테스트 클래스의 가시성에 대해 더욱 관대합니다.

이러한 맥락에서 JUNit5 테스트 클래스는 private을 제외한 모든 가시성을 가질 수 있지만 코드의 가독성을 향상시키는 기본 패키지 가시성을 사용하는 것이 좋습니다.

규칙을 어긴 코드

import org.junit.jupiter.api.Test;

public class MyClassTest { // 규칙을 어긴 코드 - modifier를 삭제할 수 있습니다.
    @Test
    protected void test() { // 규칙을 어긴 코드 - modifier를 삭제할 수 있습니다.
        // ...
    }
}

규칙을 준수한 코드

import org.junit.jupiter.api.Test;

class MyClassTest {
    @Test
    void test() {
        // ...
    }
}

예외

이 규칙은 private 가시성에 대해서는 문제를 제기하지 않습니다. private 테스트 함수와 클래스는 JUnit5에 의해 적절한 경고없이 체계적으로 제외되기 때문입니다. 이것은 Code Smell이 아니고 {rule:java:S5810} 규칙에 의해 관리되는 버그입니다.

참고


If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project