Junit Test with Fixture Monkey

Kevin Park
2 min readJan 11, 2022

안녕하세요. Kevin 입니다.

테스트를 작성할 때 매번 테스트 객체 생성에 불편함이 있었는데 이를 쉽게 해결해주는 라이브러리가 있어 소개 드립니다.

네이버에서 공개한 Fixture Monkey 입니다.

Fixture Monkey is a Java library for automatically generating reusable and controllable, arbitrary test fixtures

사용해보니 너무 좋아 기여할 일이 생기면 반드시 기여하겠다는 강한 의지가 생깁니다!!

사용법은 Getting Started 에서 쉽게 설명해주고 있습니다.

이 글에서는 제가 사용하는 설정과 예제를 중심으로 설명할게요.

저는 ArbitraryGenerator(설명은 링크 참고) 중 FieldReflectionArbitraryGenerator 를 사용하고 Interface Mock을 위해 MockitoInterfaceSupplier 를 사용합니다. Setter와 AllArgsConstructor를 사용하지 않아 FieldReflectionArbitraryGenerator를 사용하는데 환경에 맞게 사용하시면 됩니다.

생성은 다음과 같이 사용할 수 있습니다.

임의 객체를 생성할 때는 객체에 있는 validation이 적용되기 때문에 임의값으로 테스트를 통과하기 위해 dto나 entity가 더 단단해? 지게 됩니다.

Test의 경우 아래와 같이 하며 entity 생성에 특별한 로직이 있을 경우 테스트를 통해 충분히 검증 할 수 있으며 repository test에 id에 null을 설정하여 insert test를 할 수 있습니다.

감사합니다.

fixture monkey를 만들고 공개해주신 분들께 너무 감사드립니다.

--

--