1. repository 대신 service 단으로 데이터 넣기

통합 테스트는 애플리케이션의 흐름이 정상적인지 보기 위한 것으로, @BeforeEach나 given 단계에서 데이터를 넣을 때 service 계층의 메소드를 사용하는 것이 통합 테스트에 더 의미가 있는 행동같다.

 

2. fixture를 최대한 활용하기

처음엔 중복되지 않은 것에 대해 fixture를 만들 필요가 있나 싶었지만, fixture가 사용되는 부분은 주로 given이고, 테스트의 목적은 given이 아닌 when/then이므로 given쪽은 최대한 깔끔하게 유지하는 게 좋다고 생각했다. 따라서 한 메소드에서만 사용되어도 무조건 fixture로 만들어 메소드 코드가 더러워지지 않도록 유지하는게 좋은 거 같다.

 

3. 쓸 데 없이 given에 선언하지 않기

given 부분에 선언하는 부분이 중복적으로 사용되거나 then에서 사용되는 것이 아니면 굳이 given에 적을 필요가 있을까 싶다.

+ Recent posts