TCA 테스트 장점 더 잘 활용하기🎁

TCA는 단위테스트 지원이 잘 되어있고 철저한 편입니다. 특히 여러 Action을 연달아 보내면서 테스트하기 때문에 복잡한 유저 플로우를 잘 검증해 볼 수 있다는 건 큰 장점이 됩니다. 하지만 특정 Action을 통해 객체의 상태가 많이 변하는 상황은 때론 불가피하게 발생할 수 있습니다. 이런 상황이 발생하면 생기는 몇 가지 상황을 보자면, 1️⃣ 특정 액션을 테스트할 때 변하는 상태가 복잡하기 때문에 새로운 테스트 작성을 중단한다. 2️⃣ 이전 테스트가 실패하면 테스트를 통과하기 위해 expectation을 복사한다. 3️⃣ 테스트가 실패하면 그 안에 있는 모든 것을 읽어야 하므로 실패한 원인을 이해하기 어렵다. 진행 상황을 이해하기 위해 100줄 이상의 테스트 코드를 읽는 것은 재미가 없다. 객체 지향 프로그래밍을 연습할 때 몇 가지 원칙이 있지만 TCA 테스트 단점을 커버할 수 있는 원칙을 몇 가지가 있습니다. 1️⃣모든 엔티티를 작게 유지한다. 2️⃣ 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다. 3️⃣ 일급 컬렉션을 쓴다. 이런 객체 지향 원칙을 하나의 Feature Domain에 그대로 적용한다면 하나의 동작을 테스트하기 위해서 검증해야 할 상태가 훨씬 더 명확해지고 단점이라고 생각했던 부분들이 어느 정도 커버가 되지 않을까? 라는 생각이 듭니다. TCA의 테스트의 대단한 장점을 통해 더욱더 책임에 따른 역할 분리를 할 수 있다면 코드 설계는 아키텍처의 손이 닿지 않는 부분이라고 하지만 억제기(?)와 같은 도움을 받을 수 있지 않을까 생각이 듭니다.

Exhaustive testing in TCA

Krzysztof Zabłocki

Exhaustive testing in TCA

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 1월 11일 오전 7:58

 • 

저장 6조회 1,551