테스트 대역 ExRateProviderStub을 이용

ExRateProviderStub

테스트 코드

BigDeciaml을 사용하는 경우 IsEqualTo()를 이용하여 비교하는 것은 권장하지 않음 → 금액의 숫자뿐만 아닌 유효자릿수까지 전부 따지기 때문 ⇒ **isEqualByComparingTo()**를 권장

결론

Stub을 사용하는 이유

인터넷이 연결이 안되더라도 사용하는 외부 API 서버가 잠시 중단되었더라도 잘 동작할 뿐만아니라

우리가 정확한 금액을 세팅해놓고 큰 금액의 환율이 들어와도 문제가 없는 것인지 검증하는데 사용이 가능

추가적으로 소수점 이하의 자릿수가 많은 경우 반올림 오차가 어느 정도에서 나는지도 검증이 가능함

제어할 수 있는 테스트 대역을 사용하는 방식으로 바꾸면 테스트는 테스트에 더욱 충실하게 작성될 수 있음