test Embedded MySQL를 이용해 테스트 환경 구축해보기 2021. 9. 29. 독립적인 테스트 환경을 구축하는 방법으로 Embedded 환경을 사용한다 Embedded 환경을 구축하는 방법으로는 1. H2 데이터베이스 사용 2. Embedded MySQL ( wix mysql ) 3. TestContainer 가 있는데 이번 포스트에서는 Embedded MySQL( wix mysql )을 살펴보려고 합니다 Embedded MySQL 이름 그래도 어플리케이션 내장형 MySQL입니다 오픈 소스로 지원되는 wix-embedded-mysql을 사용하여 구성할 수 있습니다 GitHub 공식 사이트 https://github.com/wix/wix-embedded-mysql GitHub - wix/wix-embedded-mysql: embedded mysql based on https://gi.. Mockito vs BDDMockito 2021. 8. 12. Mockito Mockito란? 복잡하게 얽혀있는 객체들의 의존성 때문에 원하는 비즈니스 로직에 대한 테스트를 작성하기 힘들다 이때 의존성을 가지는 객체들을 가짜 객체를 만들어 테스트할 수 있는데 이런 객체를 Mock 객체라고 한다 Mockito는 이름에서도 알 수 있다시피 관리가 어려운 Mock 객체를 손쉽게 사용하도록 지원해주는 프레임워크이다. 생성 방식 mock method // JUnit 5 import static org.mockito.Mockito.mock; public class MemberServiceTest2 { private MemberRepository memberRepository; private MemberService memberService; @BeforeEach void se.. SpringBoot Test 기본 개념 정리 2021. 8. 8. 표현방식 Given-When-Then 준비-실행-검증의 부분으로 나눠진 테스트 코드로 표현한다 @SpringBootTest 정의 통합 테스트를 제공하는 기본적인 스프링부트 테스트 어노테이션 의존성 JUnit Spring & SpringBoot test AssertJ Hamcrest Mockito( Java Mocking framework ) JSONassert JsonPath Values properties 테스트시 property를 주입할 수 있다. ( key = value 방식으로 ) classes 어플리케이션 컨텍스트에 로드할 클래스를 지정한다 따로 지정하지 않으면 @SpringBootConfiguration을 찾아 로드한다 webEnviroment 어플리케이션이 실행될때의 웹환경을 설정할 수 있다.. Jacoco를 이용해 테스트 커버리지 관리해보자 2021. 8. 8. 코드 커버리지 관리의 필요성 테스트 코드를 열심히 작성하고 있었는데 하필 딱! 실수로 테스트 코드가 작성되지 않은 로직에 대한 변경이 발생했고, 이 변경으로 인해 부작용이 발생한다면? 코드 커버리지를 관리하게되면 이러한 불안감을 해소해준다. 코드 커버리지란? 테스트 케이스가 얼마나 충족 되었는지를 나타내는 지표 즉 테스트를 진행하였을 때 코드 자체가 얼마나 실행되었느냐는 내용 커버리지 계산 ( 대표, 구문 커버리지 ) void test(int num) { system.out.println(“a line”); // 1 if (num < 0) { // 2 system.out.println(“b line”); // 3 } system.out.println(“c line”); // 4 } 코드 한 줄이 한 번 .. 이전 1 다음