JaeYeopHan / JBEE.io

jbee.io discussions

Home Page:https://jbee.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

developments/frontend-testing-and-dependency/

utterances-bot opened this issue · comments

프론트엔드 테스트 코드와 의존성 | JBEE.io

이전 글 > 테스트에 대한 오해와 사실 Table of contents 프론트엔드 테스트는 왜 어려울까? 의존성 프론트엔드 앱에서의 의존성 들어가며 테스트 코드를 작성하기도 전에 테스트 환경을 구축하다가 지친 경험은 누구나 한번쯤 있지 않을까. TypeScript…

https://jbee.io/developments/frontend-testing-and-dependency/

안녕하세요 Jbee님, 포스팅 잘 읽었습니다.

코드를 살펴보면, 로깅(Amplitude가 될 수도 있고 GA가 될 수도 있고 등등... ) 자체의 동작 여부를 파악하는게 아니라 ServicePage 내부 client.log의 호출 여부만을 테스트 하는거로 보이는데요, 이 경우엔 '외부 로깅은 성공한다'라는 전제를 깔고 테스트하는거로 생각하면 될까요?

commented

안녕하세요 Jbee님, 포스팅 잘 읽었습니다.

코드를 살펴보면, 로깅(Amplitude가 될 수도 있고 GA가 될 수도 있고 등등... ) 자체의 동작 여부를 파악하는게 아니라 ServicePage 내부 client.log의 호출 여부만을 테스트 하는거로 보이는데요, 이 경우엔 '외부 로깅은 성공한다'라는 전제를 깔고 테스트하는거로 생각하면 될까요?

감사합니다 :)

말씀하신 것처럼 page 에서 log 호출 여부만 판단하고 있는데요, 말씀해주신 '자체의 동작 여부'는 page의 책임이 아니기 때문입니다. Page 입장에서 amplitude든 ga든 상관이 없어요 :)
레이어를 벗어나는 영역에 대한 검증까지 이루어지는 순간 검증이 어려워지고 깨지기 쉬운(fragile) 단위 테스트가 된다고 생각해요.

말씀하신 부분을 검증하고 싶다면 e2e 도구를 도입하여 클라이언트에서 log 가 호출되는 조건에 실제로 api 서버까지 call이 됐는지를 검증하는 것이 맞는 방향으로 보입니다.