순수 로직과 브라우저·네트워크 의존성을 분리합니다.
테스트하기 쉬운 코드는 계산 로직이 DOM과 fetch를 직접 잡지 않고 입력을 받아 결과를 반환합니다. 부수 효과는 얇은 경계 함수에 모으고 의존성은 매개변수로 전달합니다.
정상·경계·실패 사례를 Arrange-Act-Assert 구조로 만들고 구현 세부가 아니라 관찰 가능한 결과를 검증합니다.
시간·난수·네트워크는 주입하거나 fake로 교체해 테스트를 결정적으로 만듭니다.
단위 테스트만으로 브라우저 통합을 보장할 수 없어 폼 제출과 주요 사용자 흐름은 통합·E2E 테스트를 추가합니다.
private 함수 호출 횟수 같은 구현 세부에 묶인 테스트는 리팩터링 때 가치 없이 깨집니다.
직접 바꿔보세요음수 수량이 들어오면 오류가 나는 테스트와 구현을 추가하세요.