[스프링부트] 3.스프링부트 프로젝트의 실행과 테스트

2020. 5. 27. 00:09스프링부트

728x90

 

1. 스프링부트는 Tomcat을 내장해서 사용할 수 있으므로, 별도의 서버를 세팅하지 않고도 프로젝트를 바로 실행할 수 있습니다.이전에도 프로젝트를 실행해보았지만, 한번 더 실행해보겠습니다.

 

 

1-1. Tomcat 구동 없이, main()을 가지고 있는 Boot01Application.java를 선택해서

'우클릭 - Run As - Spring Boot App'을 클릭하여 실행해줍니다.

 

 

 

1-2. SampleController.java에서 작성한 '/hello'가 실행되는지 브라우저에서 확인해봅니다.

 

 

 

 

2. 이번엔 예제로 만들었던 컨트롤러에 대해서 테스트를 진행해보려고 합니다.

 

 

2-1. 'src/test/java' 하위에 'SampleControllerTests.java'클래스를 생성 후

아래와 같이 작성합니다.

package org.zerook;

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;

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.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.zerook.controller.SampleController;

@RunWith(SpringRunner.class)
@WebMvcTest(SampleController.class) //@SpringBootTest는 사용하지 않음
//@SpringBootTest
public class SampleControllerTests {

	@Autowired
	MockMvc mock;
	
	@Test
	public void testHello() throws Exception{
		mock.perform(get("/hello")).andExpect(content().string("Hello World"));
		
		MvcResult result = mock.perform(get("/hello"))
				.andExpect(status().isOk())
				.andExpect(content().string("Hello World")).andReturn();
		System.out.println(result.getResponse().getContentAsString());
	}
	
}

(

JUnit은 따로 pom.xml에 직접 추가하지 않아도

JUnit관련 코드 작성시 JUnit관련 jar가 없다고 좌측에 에러가 발생하더라도

해당 에러 클릭시 자동으로 저장이 됩니다. 

아니면 pom.xml에 아래코드를 추가해주시면 됩니다!

<dependency>
	<groupId>junit</groupId>
    <artifactId>junit</artifactId>
</dependency>

) 

 

 

2-2. 코드 작성을 완료했다면,

'해당 파일 우클릭 - Run As -JUnit Test'를 실행합니다.

혹시 JUnit Test 실행시 경고창이 뜬다면, 아래 URL을 참고해주세요.

https://zincod.tistory.com/22

 

 

2-3. 실행이 완료된 후, 아래 콘솔로그를 확인해보면

응답내용이 찍히는 것을 확인할 수 있습니다!

 

 

 

 

참고 : 스타트스프링부트(교재-구멍가게코딩단/남가람북스)

728x90