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.