memostack
article thumbnail
SpringBoot, Junit5에서 REST API(Controller) 테스트
Backend/Spring Boot 2021. 1. 15. 12:06

REST API 테스트 Rest API를 테스트할 때는 @WebMvcTest 어노테이션을 사용한다. MockMvc를 생성할때는 MockMvcBuilders를 사용하여 생성한다. 다른 방법으로 MockMvcBuilders를 사용하지 않고, MockMvc에 @Autowired를 사용하여 자동으로 생성하여 주입할 수 있다. @ExtendWith(SpringExtension.class) @WebMvcTest(MemberController.class) @DisplayName("MemberController 테스트") class MemberControllerTest { private MockMvc mvc; @MockBean private MemberService memberService; @BeforeEach pu..

article thumbnail
SpringBoot, Junit5에서 Service 테스트
Backend/Spring Boot 2021. 1. 13. 22:17

서비스 작성 MemberService.java 생성자 주입을 통해, MemberRepository와 BCryptPasswordEncoder를 주입한다. BCryptPasswordEncoder는 시큐리티에 Bean을 생성했다. (아래 펼쳐서 확인) 더보기 @Configuration @EnableWebSecurity @EnableGlobalAuthentication public class SecurityConfig extends WebSecurityConfigurerAdapter { /** * 비밀번호 암호화 인코딩 방식 정의 * * @return BCryptPasswordEncoder BCrypt 단방향 암호화 */ @Bean public BCryptPasswordEncoder passwordEncoder..

article thumbnail
SpringBoot, Junit5에서 JPA Repository 테스트
Backend/Spring Boot 2021. 1. 6. 17:10

사전 준비 테스트를 위해, Entitiy와 Repository를 생성한다. Entity 생성 Role.java @Entity @Table(name = "role") @Getter @Builder @NoArgsConstructor @AllArgsConstructor(access = AccessLevel.PROTECTED) @ToString public class Role { // PK @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; // 권한 이름 @Column(nullable = false, length = 50) private String roleName; } Repository 생성 RoleRepository.java ..