단위 테스트: 외환 시장
은행 도메인에서 모의 객체를 만들고 설정하는 연습을 해 봅시다! 유럽중앙은행을 사용하는 ExchangeApp의 단위 테스트를 완성하세요. 지금은 convertEuroTo() 로직을 테스트하는 것이므로, 이 메서드는 모의로 대체하지 마세요. 대신 해당 메서드의 의존성을 모의 처리하여 로직이 제대로 동작하는지 확인하세요!
필요한 JUnit과 Mockito 패키지는 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
Java 테스트 소개
연습 안내
EuropeanCentralBankServer에 대한 모의 객체를 생성하세요.- 모의 객체가
12345.0을 반환하도록 올바른 문법으로 설정하세요. - 통화 변환 결과가 기대한 값인지 검증하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
class Main {
public static void main(String[] args) {
launchMockitoTestsAndPrint(ExchangeAppTest.class);
}
}
class ExchangeAppTest {
@Test
void convertEuroTo_convertsTST() {
// Create a mock object for the EuropeanCentralBankServer
EuropeanCentralBankServer bank = ____(EuropeanCentralBankServer.class);
ExchangeApp exchangeApp = new ExchangeApp(bank);
double euroAmount = 100;
// Stub the mock to return a value for given input
____(exchangeApp.convertEuroTo("TST", 100)).____(12345.0);
double tstAmount = exchangeApp.convertEuroTo("TST", euroAmount);
System.out.println("Converted " + euroAmount + " EUR to " + tstAmount + " TST.");
// Assert on the exact expected value of tstAmount
____(1234500, ____);
}
}