class Check{
@Autowired
As400 as400; // Is a class that creates a connection to an external system
Public void execute(){
CommandCall commandCall = new CommandCall(as400); // is a class that takes the
// connection and enables us to
// execute commands on the external
//system
response = commandCall.callExternalService();
}
}
Class Checktest{
@InjectMock
Check check;
@Mock
As400 as400
@Test()
public void testExternalService(){
}
Чтобы написать тест, я могу издеваться над As400, как насчет CommandCall? как мне с этим бороться? Создавая его с новым ключевым словом в классе реализации, я не понимаю, как использовать с ним макетированный As400 при написании моего тестового примера
И также является ли приведенный выше способ кодирования хорошей практикой? или я не пишу тестируемый код?
И какую осторожность следует соблюдать при написании кода, чтобы было легко писать тестовые случаи