JUnit5은 모든 것을 public으로 했던 JUnit4 보다 클래스와 함수의 가시성에 대해 더 관대합니다.
JUnit5는 default 패키지 가시성을 권장하는 경우에도 default 패키지와 public, protected 가시성을 지원하므로 코드의 가독성이 향상됩니다.
하지만 다음과 같은 경우에 대해 JUnit5는 어떤 경고도 없이 무시합니다.
- private 클래스와 private 함수
- static 함수
- TestFactory 없이 값을 반환하는 함수
규칙을 어긴 코드
import org.junit.jupiter.api.Test;
class MyClassTest {
@Test
private void test1() { // 규칙을 어긴 코드 - JUnit5에 의해 무시됩니다.
// ...
}
@Test
static void test2() { // 규칙을 어긴 코드 - JUnit5에 의해 무시됩니다.
// ...
}
@Test
boolean test3() { // 규칙을 어긴 코드 - JUnit5에 의해 무시됩니다.
// ...
}
@Nested
private class MyNestedClass { // 규칙을 어긴 코드 - JUnit5에 의해 무시됩니다.
@Test
void test() {
// ...
}
}
}
import org.junit.jupiter.api.Test;
class MyClassTest {
@Test
void test1() {
// ...
}
@Test
void test2() {
// ...
}
@Test
void test3() {
// ...
}
@Nested
class MyNestedClass {
@Test
void test() {
// ...
}
}
}
If you like SONARKUBE, don’t forget to give me a star.