[OOP] 도메인 분리 - 5
내용
- 기존 코드는 도메인 과 Spring과 관련된 Repository 들이 모두 얽혀있었다.
- 모든 도메인이 Spring에 의존하고 있었다.
- 테스트도 @SpringBootTest 를 사용해 Spring 자체를 실행시켜야 가능했다.
- 코드 리뷰어 김고래 의 피드백을 적용하면서, 도메인은 순수 자바 객체로 유지되어야 함을 깨달았다.
- 불가피하게 Spring을 띄워야 하는 Repository 관련 테스트를 제외하고, 도메인 관련 테스트들은 모두 순수 자바로만 실행할 수 있게 되었다. 테스트 실행 속도가 매우 빨라졌다.
- 도메인 자체만 테스트하다보니, 각 객체별로 작은 단위의 테스트를 매우 간단하게 할 수 있었다. 이전에는 모든 의존성을 알맞게 주입해 놓아야 테스트가 가능했다.
- 콘솔 게임은 Spring 없이 순수하게 자바로만 실행할 수 있게 되었다.
태그
OOP, Domain, Test, Spring
[Test] In-Memory DB 적용 - 3
내용
- 이전에는 테스트를 실제 DB를 통해서 했었다.
- 코드 리뷰어 김고래 의 피드백으로 Test들은 In-Memory DB인 H2 DB를 사용하게 했다.
- 테스트가 훨씬 가벼워지고, 외부 DB에 의존하지 않게 되었다. 또한, 속도도 빨라졌다.
태그
Test, DB