2020. 1. 30. 13:36ㆍProject E/Project E 파트1
테스트 코드
TDD
테스트가 주도하는 개발로 반드시 테스트 코드를 먼저 작성하는 것부터 시작하며,
1) 실패 테스트를 먼저 작성
2) 테스트가 통과하는 프로덕션 코드 작성
3) 테스트 통과 후 프로덕션 코드 리팩토링
단위 테스트
단순한 테스트를 목적으로 작성
HelloController 테스트 코드 작성
src/main/java
com.minokuma.book.springboot 패키지 생성
src/main/java
com.minokuma.book.springboot
Application.java
package com.minokuma.book.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
(*) 패키지 가져오기 : [Alt + Enter]
web 패키지 생성
src/main/java
com.minokuma.book.springboot
com.minokuma.book.springboot.web 패키지
HelloController 생성
src/main/java
com.minokuma.book.springboot.web
HelloController.java
package com.minokuma.book.springboot.web;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello";
}
}
테스트 패키지 생성
src/test/java
com.minokuma.book.springboot
테스트코드 생성
src/test/java
com.minokuma.book.springboot
HelloControllerTest.java
package com.minokuma.book.springboot;
import com.minokuma.book.springboot.web.HelloController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.context.junit4.SpringRunner;
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;
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = HelloController.class)
public class HelloControllerTest {
@Autowired
private MockMvc mvc;
@Test
public void returnHello() throws Exception {
String hello = "hello";
mvc.perform(get("/hello"))
.andExpect(status().isOk())
.andExpect(content().string(hello));
}
}
테스트코드 실행
메소드 왼쪽 화살표 클릭
테스트코드 실행
Tests passed 메세지 표시 : 테스트 통과
메인코드 실행
src/main/java
com.minokuma.book.springboot
Application.java
웹브라우저 주소 : http://localhost:8080/hello
'Project E > Project E 파트1' 카테고리의 다른 글
[E-2-3] HelloController 롬복으로 전환 (0) | 2020.01.30 |
---|---|
[E-2-2] 롬복 설치하기 (0) | 2020.01.30 |