[E-2-1] 스프링 부트에서 테스트 코드 작성

2020. 1. 30. 13:36Project 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