31. public A actA() void actATest()
public B actB() void actBTest()
구현 테스트
32. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
구현 테스트
33. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
private D actD()
!
구현 테스트
34. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
private D actD()
!
구현 테스트
여기서 공감했다면
구현 테스트를 하고 있을 가능성이 매우 큼
35. public A actA() void actATest()
public B actB() void actBTest()
public C actC() void actCTest()
void actC2Test()
126. • MockMvc With RestDocs
• REST Assured With RestDocs
• WebTestClient With RestDocs
테스트와 문서를 한방에!
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html#boot-features-testing-spring-boot-applications-testing-autoconfigured-rest-docs
159. 무엇을 테스트할 것인가?
1. 설계를 테스트
2. 테스트 가능한 것을 테스트
어떻게 테스트할 것인가?
1. 테스트 불가능한 영역을 Boundary Layer 까지 올려서 테스트 가능하도록 변경
2. Context, Framework 종속적이지 않도록 테스트
3. Test Double 사용
4. Embedded System 사용
5. EndPoint Test 도구 사용하여 내부 API Spec 테스트
6. Spring Cloud Contract 로 외부 API Spec 테스트
TIP & RULE
1. 테스트는 상호 독립적으로 작성
2. 테스트 안에서 의도와 목적이 모두 드러나도록 작성
3. 테스트 코드도 리펙토링
160. 그러나 가장 중요한 것은 안정감과 자신감
기준을 최대한 지키되 기준을 지키기 위해
안정감과 자신감을 포기할 필요는 없다.