Teste de unidade: Mercado de câmbio
Vamos praticar a criação e a programação de mocks no contexto bancário! Complete o teste de unidade para ExchangeApp, que
usa o European Central Bank. Como você está testando a lógica de convertEuroTo(), não a faça mock. Em vez disso, faça mock da dependência para verificar se ela funciona corretamente!
Os pacotes necessários do JUnit e do Mockito já foram importados para você.
Este exercicio faz parte do curso
Introdução a Testes em Java
Instruções do exercicio
- Crie um mock para
EuropeanCentralBankServer. - Use a sintaxe correta para programar o mock para retornar
12345.0. - Verifique se a conversão de moeda retorna a saída desejada.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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, ____);
}
}