FAQ
1. Existe uma falta no método Provider.processInvoices do módulo activity, onde se invoca BankInterface.processPayment(booking.getNif(), booking.getAmount()))?
Sim, em vez de booking.getNif() deve ser booking.getIban(). Este é um exemplo de uma falta que não é possível detetar com testes de unidade, apenas um teste de integração, que exercite conjuntamente os módulos activity e bank pode detetar este caso.2. Para a classe ConfirmedState do módulo broker pode-se considerar que sempre que ocorre uma RemoteAccessException esta tem como impacto apenas a permanência no mesmo estado, ou seja, por ocorrência deste tipo de exceções o estado nunca passa para UNDO.
3. Foi disponibilizado um teste de integração para ajudar no desenvolvimento do projeto. Qual a diferença entre este teste e aquele que são pedidos nesta parte do projeto?
De notar que nesta parte do projeto não são pedidos testes de integração, mas sim de componente: ou seja é necessário utilizar mocks sempre que o módulo que estamos a testar necessitar de comunicar com os outros módulos. O teste de integração está disponível num branch no repositório reference.