오늘은 스프링부트 프로젝트 (지인 정보 관리시스템) 3~5강을 들었다.
우선 강의는 지난번 강사님보다 설명이 풍부해서 초반에 '아 이래서 이걸 이렇게 했구나' 하는 생각이 많이 들어서 좋았다.
그런데 이번엔 IntelliJ 버전이 문제였다ㅋㅋ
강사님이 유료버전을 쓰시는건지, 몇몇 메뉴가 무료버전 (Community)에 없는 것 같다.
처음에 프로젝트 만들때 해당 메뉴가 없어서 그냥 start.spring.io/ 에서 만들었는데
결국 http파일 생성할 때도 안돼서 유료버전 (Ultimate) 30일 무료체험을 다운받아서 쓰기로 했다.
아래와 같이 왼쪽에 메뉴들이 많이 나와야 하는데 무료버전에는 메뉴가 없었다ㅠ_ㅠ
지난번 강의때는 아무 것도 모르고 따라만 치던 어노테이션들에 대해서도 하나하나 꼼꼼히 설명해주셨다.
다시 한번 HelloWorld를 찍어보기
이렇게 브라우저에 여러번 들어가서 확인하는 것이 번거롭기 때문에
test 패키지에 http 파일을 만들고 GET메서드를 쓰면 콘솔창에서 아래 내용과 같이 확인할 수 있다.
GET http://localhost:8080/api/helloWorld
HTTP/1.1 200
Content-Type: text/plain;charset=UTF-8
Content-Length: 10
Date: Fri, 04 Sep 2020 11:59:01 GMT
Keep-Alive: timeout=60
Connection: keep-alive
HelloWorld
5강 .MockMvc 테스트 만들기
*HelloWorldController
package com.fastcampus.javaallinone.project3.mycontact.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@GetMapping(value = "/api/helloWorld")
public String helloWorld(){
return "HelloWorld";
}
}
*HelloWorldControllerTest
package com.fastcampus.javaallinone.project3.mycontact.controller;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest
class HelloWorldControllerTest {
@Autowired // @Autowired로 private을 감싸는 것: Spring context에서 Bean을 주입하겠다는 의미
private HelloWorldController helloWorldController;
private MockMvc mockMvc;
@Test
void helloWorld(){
// System.out.println("test");
System.out.println(helloWorldController.helloWorld());
assertThat(helloWorldController.helloWorld()).isEqualTo("HelloWorld");
}
@Test
void MockMvcTest() throws Exception {
mockMvc = MockMvcBuilders.standaloneSetup(helloWorldController).build(); //mockMvc를 생성
mockMvc.perform(
MockMvcRequestBuilders.get("/api/helloWorld")// http의 GET메서드로 /api/helloWorld를 호출
).andDo(MockMvcResultHandlers.print())//결과값을 보여주는 것
//아래는 자동화된 결과체크
.andExpect(MockMvcResultMatchers.status().isOk())//status가 200(Ok)인지 확인
.andExpect(MockMvcResultMatchers.content().string("HelloWorld"));
//respond의 내용이 body = HelloWorld인지 체크
}
}
패스트캠퍼스 강의: https://bit.ly/3ilMbIO
'언어공부 > JAVA&SPRING' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 28회차 미션 (0) | 2020.09.06 |
---|---|
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 27회차 미션 (0) | 2020.09.05 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 25회차 미션 (0) | 2020.09.03 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 24회차 미션 (0) | 2020.09.02 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 23회차 미션 (0) | 2020.09.01 |
댓글