test3 [이모저모] 리팩토링 고민 Fixtures현재 각 도메인 별로 Fixture가 존재한다.생성을 담당하는 Fixture는 도메인 별로 존재하지만, Fixture에서 Persist까지 담당할 필요는 없기 때문에 Fixtures를 만들었다.일종의 companion object이자 퍼사드 객체이다. 현재 기본적인 테스트 설정은 java-test-fixture 플러그인을 사용하는 common 모듈에서 담당하고 있다.앞서 언급한 Fixture들은 도메인(모듈)을 알아야 하기 때문에 common 모듈에선 해당 정보까지는 모두 알 필요가 없다고 판단했다.따라서, fixture들을 모든 의존성을 알고있는 client-api 모듈에 배치시켰다. 이게 하나의 문제를 이어지는데 바로 admin-api 모듈은 해당 fixture들을 모른다는 점이다.따라.. 2024. 6. 4. [Java] Jacoco 잘 사용하기 (feat. 심화) 🙋 들어가며 애플리케이션의 안정성을 나타내는 지표는 무엇일까요? 바로 테스트 커버리지입니다. 테스트 커버리지란 우리 시스템에 얼마나 테스트 코드가 작성되었는지 나타내는 지표입니다. 자바 진영에는 Jacoco라는 도구가 존재하는데 간단하게 사용법을 알아보겠습니다. 😋 💄 Jacoco Jacoco란, 자바 진영의 테스트 커버리지 측정 도구입니다. 테스트를 작성하면 조건에 따라 커버리지를 측정하고 거기에 따른 Report를 제공합니다. 이 글에서 사용한 환경은 다음과 같습니다. Spring boot : 3.1.5 Java : 17 Jacoco : 0.8.8 Build Tool : Gradle 🚀 Gradle에 적용하기 Jacoco 플러그인을 Gradle에 다음과 같이 적용합니다. plugins { ... id.. 2023. 10. 26. [Java] Fixture Monkey 사용해보기 🙋 들어가며 누구나 한 번쯤 테스트 코드의 생산성을 고민해 보았을 거라고 생각합니다. 저는 테스트용 데이터를 만드는데 시간이 꽤 걸려서 Object Mother 패턴을 도입하고, Fixture(테스트용 정적 객체)를 사용해서 이런 시간을 줄여보기도 했습니다. 저와 같은 고민을 하신 분들이라면 들어봤을 법한 라이브러리를 소개하겠습니다. 공식 문서는 모두 영어로 되어있어 번역하기 귀찮으신 분들을 위해서 사용에 필요한 내용만 정리해 보겠습니다. 🙉 Fixture Monkey Fixture Monkey는 임의의 테스트 객체를 생성하는 라이브러리입니다. 테스트 코드의 생산성과 간결함을 위해서 네이버에서 만든 PBT 도구이며 java와 kotlin을 지원합니다. 💡 PBT(Property Based Testing).. 2023. 10. 17. 이전 1 다음