Como faço para simular solicitações de rede nos testes da interface do usuário do Xcode enquanto os testes estão em execução?
Temos um conjunto de testes de interface do usuário para nosso aplicativo escrito usandoKIF que eu gostaria de converter para usar a nova estrutura de teste da interface do usuário do Xcode.
O aplicativo é um cliente de uma IA de repouso cujas respostas estamos zombando atualmente usando NSURLProtocol para veicular arquivos JSON predefinidos em resposta aos GETs, POSTs, PUTs, etc ... Todos os testes são definidos usando os dados desses arquivos, então eu quero continuar usando-os. Os mesmos pontos de extremidade no servidor retornam dados diferentes em pontos diferentes dos testes; portanto, não posso zombar deles antecipadamente, preciso poder chamar um método enquanto o teste está sendo executado para zombar da próxima resposta do servidor.
Infelizmente, o uso do NSURLProtocol em um teste da interface do usuário do Xcode não afeta o aplicativo testado, e só vi maneiras de enviar dados ao aplicativo por meio de argumentos ou ambiente de inicialização, como emesta resposta. Eu preciso zombar deles de forma diferente em diferentes estágios durante meus testes. Como posso simular solicitações de rede de dentro do teste da interface do usuário de uma maneira que seja alterada durante o teste? Ou como posso me comunicar com o aplicativo que está sendo testado para que ele possa zombar dos pedidos?