최근 TDD를 기반으로 테스트 코드 작성에 대한 학습을 게을리하지 않고 있습니다. 여기서는 통합 테스트를 진행할 때, 스프링 컨텍스트가 실행되는 비용을 줄이는 방법을 소개합니다.
이번 글에서는 테스트의 독립성을 지키기 위해 테스트 케이스마다 Fixture를 만드는 것과 테스트 케이스마다 중복으로 발생하는 Fixture를 setUp 등으로 통합하는 것 중에서 어떤 방법을 사용해야 하는지에 대한 고민을 적어보았습니다.
이번 글에서는 오브젝트 마더 패턴을 활용하는 또 다른 방법 중 하나인 Enum에서 테스트 픽스처를 만들어 실제 테스트 케이스에 적용해보았습니다.
요즘 테스트 코드를 작성하는 재미가 쏠쏠합니다. 이번에는 Given-When-Then 방식과 더불어 Describe-Context-It 방식을 반영해 테스트 가독성을 향상시켜보았습니다.
실제 운영 DB로 구축된 테스트 환경을 Testcontainers(테스트 컨테이너)를 활용한 테스트 환경으로 전환해보았어요. 독립적인 컨테이너로 테스트를 수행하니 일일이 DB 생명주기의 의존을 덜었지만, 그에 따른 테스트 성능 이슈도 신경써야 하는 재미난 기술이었어요.