현재 Spring Boot 공부는 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'로 진행하고 있습니다 💪🏻
책에서 p.61 - p.63 에 적힌 코드가 자꾸 오류가 뜨길래 찾아보았다.
main 부분은 잘 돌아갔는데 test하려고 코드를 그대로 쳤더니 6-7개의 오류가 떠서 하나하나 찾아보았다.
@RunWith(SpringRunner.class)
이 코드를 작성하면 자동으로 import가 위에 적혀야 되는데 안 적혀 있길래 혼자 따라서 적었더니 코드 라인에 색이 들어가지 않았다.
찾아보니 인텔리제이에서 업데이트를 해서 저 코드를 굳이 작성하지 않아도 되는 것 같다고 해서 과감하게 지웠더니 오류가 없어졌다.
처음 책을 읽고 하시는 분들은 코드를 위에서부터 다 칠 거 같아서 import 부분에서 없어도 될 부분을 적어보았다..💃🏼
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringRunner;
메인 코드를 작성하면서 자동으로 위에 import 되지 않은 부분을 더 적었다.
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
분명 책이랑 똑같이 쳤는데 오류가 뜨길래 구글링하면서 똑같은 오류를 해결한 사람의 코드를 복붙했는데 해결했다!
무슨 차이가 있었는지 확인하려고 3번은 비교하면서 읽어봤는데.. 다른 점이 없는 것 같기도 하고..
해결 완료!
package com.jojoldu.book.springboot.web;
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.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@WebMvcTest(controllers = HelloController.class)
public class HelloControllerTest {
@Autowired
private MockMvc mvc;
@Test
public void hello가_리턴된다() throws Exception{
String hello = "hello";
mvc.perform(get("/hello"))
.andExpect(status().isOk())
.andExpect(content().string(hello));
}
}
이렇게 색이 죽어서 뜨는 코드는 코드를 돌려볼 때 영향이 가지 않는 것 같다.
코드가 있든 없는 똑같은 결과가 뜬다.