2020. 5. 27. 00:09ㆍ스프링부트
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을 참고해주세요.
2-3. 실행이 완료된 후, 아래 콘솔로그를 확인해보면
응답내용이 찍히는 것을 확인할 수 있습니다!
참고 : 스타트스프링부트(교재-구멍가게코딩단/남가람북스)
'스프링부트' 카테고리의 다른 글
[스프링부트] 톰캣 설치 및 실행 (0) | 2023.04.04 |
---|---|
[스프링부트] 4. MySQL 사용자계정생성과 DataSource 설정 (0) | 2020.05.31 |
[스프링부트] 2. Lombok 라이브러리 (0) | 2020.05.24 |
[스프링부트] 1. 스프링부트 설치 후 프로젝트 생성 (0) | 2020.05.24 |