반응형
전장에서 컨트롤러 테스트 방법을 공부하였다.
이번에는 서비스를 가지고 테스트 하는 방법을 설명한다.
Assert 시리즈로 검증하기
- Assert 시리즈를 활용하면 해당 메소드의 결과값이 true인지 검증 뿐만 아니라 null 인지 등도 테스트를 진행할 수 있다.
Assert로 설정한 대로 동작하지 않으면 테스트 도중 실패로 끝나기 때문에, 잘못된 결과 값이 나온다는 것을 확인하고 코드를 수정할 수 있다.
Assert 관련 메서드 종류는 다음과 같다.
Assert 메서드 종류 | 설명 |
assertArrayEquals(a, b) | 배열 a와 b가 일치함을 확인한다. |
assertEquals(a, b) | 객체 a와 b가 일치함을 확인한다. (객체에 정의되어 있는 equals를 통해 비교한다.) |
assertSame(a, b) | 객체 a와 b 가 같은 객체임을 확인 한다. (객체 자체를 비교한다. == ) |
assertTrue(a) | 조건 a가 참인지를 확인한다. |
assertNotNull(a) | 객체 a가 null인지 확인한다. |
예제코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | package com.wedul.wedulpos.user.test; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.wedul.wedulpos.user.dto.UserDto; import com.wedul.wedulpos.user.service.UserService; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"test-confing.xml"}) public class UserControllerTest { @Autowired UserService userService; UserDto dto; @Before public void setUp() throws Exception { dto = new UserDto(); dto.setId("test"); } @Test public void testUserController() throws Exception { assertTrue(userService.login(dto)); assertFalse(!userService.login(dto)); assertNull(userService.findPassword(dto)); } } | cs |
기존에는 이런 방식으로 많이 테스트를 진행하였지만 요근래에는 mockito에서 제공하는 방식을 이용하여 테스트를 많이 진행한다고 한다.
이는 다다음장에서 공부해보자.
반응형
'web > Junit' 카테고리의 다른 글
Junit5 Test Container사용하여 테스트 환경 구축하기 (인프런 백기선님 강의 정리) (0) | 2019.12.26 |
---|---|
Spring Junit5 test Mockito (백기선님 인프런 강의) (0) | 2019.12.23 |
Spring BootJunit5 테스트 (백기선님 인프런 강의) (0) | 2019.12.23 |
Junit 정리 - MockMvc를 이용한 컨트롤러 테스트 (6) | 2018.05.27 |