728x90
Controller 단위 테스트를 작성하고 테스트를 돌렸는데, No tests found for given includes 에러가 발생하면서 테스트에 실패했다.
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
import co.pes.domain.manager.controller.LoginManagerController;
import co.pes.domain.manager.service.LoginManagerService;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.web.servlet.MockMvc;
@WebMvcTest(LoginManagerController.class)
class LoginManagerControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private LoginManagerService loginManagerService;
@Test
@DisplayName("로그인 페이지로 이동")
void login() throws Exception {
// when & then
mockMvc.perform(get("/am/manager/login"))
.andExpect(status().isOk())
.andExpect(view().name("/manager/loginForm"));
}
}
Execution failed for task ':test'.
> No tests found for given includes: [co.pes.unit.domain.manager.controller.LoginManagerControllerTest.login](--tests filter)
개발 환경
- Java 8
- Spring 2.7
- Gradle
- JUnit5
- IntelliJ
해결 방법
이 에러는 JUnit이 실행할 테스트를 찾지 못했을 때 발생한다. build.gradle에 useJUnitPlatform()을 추가해줘야한다.
useJUnitPlatform()은 gradle에서 JUnit5을 사용하기 위한 설정이라고 보면된다. (참고)
build.gradle
...
dependencies {
...
test {
useJUnitPlatform()
}
...
}
참조
728x90