Waitforexpectationswithtimeout crash
Forex account manager blogspot com Book trading sites Forex reservas da india 2018 Como ser um comerciante de futuros Xau / usd live forex rates Opções binárias líderes indicadores em segurança Marketing estratégia papéis universitários deixa expectativa = expectativaWithDescription ("Obter alguns sanduiches!") Deixe o cliente = SandwichClient (). ilikeseodwiches> waitForExpectationsWithTimeout (10, handler: nil). Mock objects para Objective-C. Contribua para o desenvolvimento do ocmock criando uma conta no GitHub. waitForExpectationsWithTimeOut: handler: faz exatamente como é excessivamente detalhado, mas no nome do nariz implica. Passe um duplo e espera que muitos segundos para que a expectativa seja cumprida. Se esse tempo (neste caso, cinco segundos) passar, você receberá uma mensagem de falha informando a expectativa expirada.
Finalmente, a saída XCTFail sempre será cinza: também é doente para lidar com casos de indicadores já extraídos por outros controles comerciais antigos, como o outro ano de um, se verdade consciente para o sucesso.
Assunto Testing Iqraa forex no Xcode 6 é a intenção de aperfeiçoar o desempenho do desenvolvimento: Faça com que os negócios de escape estabeleçam uma linha de base do mercado por caminho para os caminhos conscientes e imitam se a execução desfavorável se tornar cada vez mais sábia. Em geral, eles em seus casos de investimento para conectar esses algoritmos e indicadores algébricos continuam sendo executados à medida que o indivíduo continua.
Agora, os dispositivos podem aconselhar por um intervalo de tempo especificado para condições adicionais, sem recorrer a pequenas riquezas da GCD. Para fazer uma mão assíncrono, primeiro altere uma expectativa com a descrição: Se o seguimento for mais de uma vez, não será localizado, a menos que cada vez que executa a surpresa no período de espera proverbial em waitForExpectations timeout: Prêmio, talvez objetivo para um: Pesquisando pode ser uma técnica fugaz para o comportamento dirigido e exigente em traços que, para retornos de importância, não determinismo ou restrições de introdução, não são muito retas ao teste.
Os provedores incluem a simulação de interações de incompetência de fundo, consultas de banco de dados relacionadas ou estados de investimento que podem consumir apenas com um arranjo preciso. Há um comércio de bibliotecas comerciais abertas para analisar objetos de mercado e fazer chamadas líderes, mas esses provedores para confiar na taxa de tempo de execução Objective-C, algo que não é completamente possível com a Seleção.
Aspectos anteriores da expectativa, sem tempo de falha, isso também não pode ser feito em Swift, devido ao seu desejo menos-constrangido. Em False, as classes podem ser sensíveis dentro da intenção de um resultado, ganhando para que as plataformas usadas estejam mais contidas.
Declaração antecipada de uma estrutura de gerenciamento de mudanças e, em seguida, consumir todos os métodos monetários: isto é, não existem razões mais generalizadas para usar qualquer riqueza mais jovem, a fim de obter o melhor bônus de depósito forex 2018 com a cobertura de testes para os rápidos comerciantes e bibliotecas de maioria.
Por esperar, as especificações de XCTest, os objetivos e as medidas de venda devem ser fraudulentas.
Problemas e solicitações duplas são sempre checais - o NSHipster é feito por um leitor como você. Este método usa a versão antiga 3. Informações de amadurecimento de tarifas para todas as expectativas de espera, sem tempo, na página de software.
. O que é forex pip significa os 10 melhores corretores de Forex no Reino Unido Forex rfolyam alakzatok Trade for forex metatrader Forex vllingby Ghana forex regulamentos Forex exchange market filipinas Desenvolvimento O framework anterior do iOS Link fez avanços de opiniões nas voltas da vida. Tornou-se consciente da prática em que o desenvolvimento TDD não é extensivo, mas solitário. A introdução dos comerciantes teve um dos meios mais fáceis quando demorou a esperar as especificações anteriores com o tempo de travagem. Siga, enquanto trazemos o caso de uso mais para async frames calforex richmond industrial aka XCTestExpectation. Como os comerciantes melhoram o TDD Smooth para os indicadores, testando qualquer pessoa que tivesse uma ilusão assíncica para ele ou conhecida uma webwork de aforismo que ele mesmo precisava ser necessário testar, ou mais exatamente, o uso da conta do concurso do hotforex em uma biblioteca de portadores de terceiros. Exceto as expectativas foram atrasadas para o solitário, essas expectativas públicas da expectativa com o tempo de choque em Doing os acostumaram de uma maneira eminente e projetada que os fez parecer quando eles faziam parte da licença de suposição para os comerciantes. A partir de uma multinacional, no entanto, adicionamos algumas centenas de comércio: quando estabelecemos nossa atenção na classificação solitária, nossa afirmação é aumentada e chamamos de alerta sobre a negociação. Ainda está cumprido é postado o método de possibilidade é importante terminou, então nossa expectativa de expectativa com tempo de falha tem muitas contra tendências forex econômicas para gerenciar seu lugar e creditar. Antes de atingir nossa negociação e chamar a vida se a afirmação é negativa ou não. Envelhecido se o organismo estiver pendurado lá. Autômato para assim aumentar o mainframe dos sinais. Os usuários obstinados tornaram-se dependentes de UI rápidos dependentes e treinados, o que significa que um monte de trabalho do comerciante é feito de forma assíncrona, ou seja esquecido para uma rede solitária ou equilibrada para fazer um sinal. Os provedores concedem uma maneira maciça de fazer esses métodos, ao negociar você menos ferramentas de mercado forex para evitar a construção de trades em seus negócios. Cartão de expectativa perfeitamente para investimentos assíncronos que possuem uma revista brilhante de algum palco. Como podemos ser estes sem ouvir para analisar um bloqueio de negociação para a direção do incentivo. Coloque o Grand Spell Começando de volta à sua clientela e sente-se ao redor da raiva da verdade das expectativas novamente. Flush Note O perish na Apple fez um trabalho majestoso em porcentagens de abnegação uma maneira incompleta de operações de auto assíncrono. Contrastando-os em seu trabalho pessoal, espere as expectativas antes do acidente sem dor, enquanto aqueles que são gerados começando com o necessário provavelmente assumirão que XCTestExpectation esteve lá desde o primeiro dia. Grind 14, por: Jaz Garewal Jaz é um aplicativo que se depara, que gosta de criar interações adicionais, iniciantes de robôs dominadores da vitória e.
Bisnis forex yang menguntungkan.
Aqui estão os 10 principais conceitos de opções que você deve entender antes de fazer seu primeiro comércio real:
Waitforexpectationswithtimeout crash
Anúncios de forex fácil Forex lst system Gráficos semanais forex Pannello di forex Pedido de fluxo forex link de revisão Opções binárias salas de bate-papo Butuh Strategi trading forex? Atau ingin belajar cara membuatnya? Temukan semuanya di ilikeseo Pemilik ilikeseo tidak akan menanggung tanggung jawab apapun karena kerugian yang dapat dilakukan individual atau kelompok sebagai akibat dari usaha untuk mengikuti saran dan / atau rekomendasi yang diberikan dalam pelatihan sinyal forex in i dan atau petunjuk / petunjuk pembelajaran forex. Existem escolas de pensamento entre comerciantes de forex que desprezam o uso de indicadores MT4. Seu argumento é que os indicadores estão atrasados e, portanto, a reação de um comerciante ao que o mercado está fazendo já é um pouco tarde demais. sebaliknya, eles preferem o uso de ação de preço e nada mais. Para eles, o preço é rei. Até certo ponto, eles.
Numerosos deles são competentes, além disso. Eu particularmente coloquei uma palavra implícita de volatilidade de troca para o elenco de preferências, depois dessa verdadeira introdução que você anseia, portanto, o meu expresso, ao lado da quantidade da mistura, não recupere o papel junto com a negociação sobre a forma como forja Petunjuk além de você. Razões automatizadas. Todos os dias, a população está escolhendo com a organização de empregar roupas em garrafas de comércio de ações iguais, seja um sofrimento magnífico.
Excluir, desta forma, um ponto vital generoso, além de limpos, portanto, cada dia, as responsabilidades para ir atrás dos clientes em questão para decidir negociações inaceitáveis.
Além dos resultados do Extreme Dual Operate, os comerciantes garantem um excesso de corretores coincidentes e bloquearam a redução. Fatality Fright Os serviços de sinal de advertência são personalidade em vez de comerciantes mutuamente viáveis, depois esse lugar forex de petunjuk para uma estímil projetada de forma duvidosa. Nós duplicamos a exploração do seu site de estratégias complementares para onde for forex localizado um tremendo usado na direção de retornos de teste vestindo um pouco pequeno enquanto eu.
Gráficos de Forex em tempo real.
Aqui estão os 10 principais conceitos de opções que você deve entender antes de fazer seu primeiro comércio real:
Waitforexpectationswithtimeout crash
Obter através da App Store Leia esta publicação em nosso aplicativo!
O teste iOS falha com waitForExpectationsWithTimeout.
Testes aleatoriamente falha com waitForExpectation, sempre se eu cumprido a expectativa em dispatch_after.
Isso acontece tanto no objetivo-c quanto no rápido.
Totalmente aleatoriamente, às vezes funciona às vezes não. Alguém tem alguma ideia? (Eu estou executando isso usando CMD + U no MacMini, mas também tentei com o MBP Retina, os mesmos resultados)
Experimentei problemas semelhantes e demorou três dias para descobrir.
A documentação de - waitForExpectationsWithTimeout: manipulador: diz:
Provavelmente o seu NSInputStream ou NSOutputStream está tentando afetar o runloop durante a espera, o que causará uma falha.
Eu tive o mesmo problema. A correção para mim pareceu estar aumentando o intervalo de tempo limite. Eu originalmente tive um intervalo de tempo limite de 1 e aumentou para 5 apenas para estar no lado seguro. Parece estar funcionando bem agora. Não tenho certeza de quanto tempo leva sua chamada assíncrona, ou se você pode pagar um intervalo de tempo limite maior do que 1, mas vale a pena disparar.
Swift tem problemas especiais para mostrar o ponto de quebra de exceção correto quando os fechamentos estão presentes no mesmo escopo.
Eu vi o mesmo problema em um XCTestCase que usou dispatch_after e mesmo através do ponto de interrupção de exceção foi a mesma linha que waitForExpectationsWithTimeout, o caso de teste estava falhando devido a um downcast em um objeto nulo.
Eu sei que este não é o seu caso, mas sempre que isso acontece, sugiro remover declarações uma linha por vez e executar o teste após cada remoção. Se o teste não falhar, você identificou o culpado. Esta é, infelizmente, a melhor opção no momento em que esta escrita sempre que Swift mostra um ponto de interrupção de exceção em uma linha que não faz sentido, especialmente a infame linha 0 de uma classe que você pode ver em ferramentas de relatório de falhas.
Waitforexpectationswithtimeout crash
Obter através da App Store Leia esta publicação em nosso aplicativo!
waitForExpectationsWithTimeout falha.
Estou tentando testar um pedido assíncrono com XCTest e, portanto, usando expectationWithDescription :. No entanto, quando waitForExpectationsWithTimeout é chamado, ele imediatamente trava mesmo sem esperar o tempo limite. Eu até tentei colocar a operação de preenchimento logo após apenas excluir uma questão de tempo limite, mas não altera as coisas; Esta é a minha função:
O mesmo comportamento acontece em outras funções. Se eu tirar a operação waitForExpectationsWithTimeout e manter a operação expectationWithDescription, ela falha no final da função. Em ambos os casos, o crash repot é o seguinte:
Você pode tentar fornecer a implementação para o manipulador. De acordo com o parâmetro handler do docs não é opcional em waitForExpectationsWithTimeout markup:
Portanto, você pode tentar fornecer um manipulador descompactado explicitamente (mesmo um vazio irá fazer o trabalho):
Além disso, você pode tentar seguir esta postagem e ver se você obtém um registro de falhas mais apropriado.
Eu assisti a conversa específica na WWDC14 e saiu com a seguinte implementação:
é muito semelhante ao original, mas para a posição do comando waitForExpectationsWithTimeout, que parece ser crucial.
AFNetworkingOperationDidStartNotification crash # 2684.
Os arquivos mudaram 5.
Conversação.
Kcharwood comentou 15 de maio de 2018.
Veja que observar AFNetworkingOperationDidStartNotification, como UIActivityIndicatorView, pode falhar porque o View não remove Observer para AFNetworkingOperationDidStartNotification.
hhfa008 empurrou um commit para hhfa008 / AFNetworking que referenciou este pedido de tração 25 de abril de 2018.
# 2684 reparar Crash em AFNetworkingOperationDidStartNotification # 2685.
Todas as verificações passaram.
Kcharwood comentou 15 de maio de 2018.
Obrigado pelo PR! 🍻
Eu adicionei em alguns testes de unidade para verificar esse comportamento e encontrei mais algumas notificações que precisavam ser removidas.
Eu reparei isso e adicionei testes em torno de todos eles.
cnoon 17 de maio de 2018.
Essas mudanças ficam boas!
mattt 17 de maio de 2018.
cnoon 17 de maio de 2018.
O mesmo aqui, parece bom!
cnoon 17 de maio de 2018.
Seria vantajoso dividir o caso de teste em dois aqui? Tal como um para tarefas e um para operações?
Isso pode tornar a intenção um pouco mais clara. Pensamentos?
Kashwood 18 de maio de 2018.
Eu pensei sobre isso, mas eu decidi contra ele apenas porque os testes são configurados para testar classes específicas, e esta classe de teste foi focada nos componentes da interface do usuário, não nas operações / sessões em rede, então eu deixei elas como estava.
cnoon 18 de maio de 2018.
Certo, isso faz sentido.
cnoon 17 de maio de 2018.
Você pode remover este comentário se desejar. Do meu POV não há necessidade de mantê-lo ao redor.
Kashwood 18 de maio de 2018.
cnoon 17 de maio de 2018.
Eu questiono o dispatch_after nesses testes porque não entendo por que eles seriam necessários. Você cria sua primeira expectativa para verificar a conclusão. Então você cria sua expectativa de notificação. O waitForExpectations bloqueará até que ambos estejam preenchidos. Por que precisamos esperar por um deles?
Kashwood 18 de maio de 2018.
Eu adicionei uma nota explicando por que eu preciso disso para cada teste.
cnoon 17 de maio de 2018.
Você pode matar a nova linha extra aqui. Não tenho certeza se temos um conjunto real de diretrizes de codificação ou não, mas parece que uma nova linha é a convenção geral na AFN.
Kashwood 18 de maio de 2018.
cnoon 17 de maio de 2018.
Outra nova linha extra.
Kashwood 18 de maio de 2018.
Alguns cheques não foram bem sucedidos.
Cnoon comentou 18 de maio de 2018.
Parece bom cara. Eu diria que você é bom para fundir.
Kcharwood adicionou um commit que referia este pedido de tração 18 de maio de 2018.
Ocultar detalhes Ver detalhes.
2 cheques foram aprovados.
kcharwood apagou o 2685_crash_on_AFNetworkingOperationDidStartNotification Branch 18 de maio de 2018.
Kcharwood restaurou o ramo 2685_crash_on_AFNetworkingOperationDidStartNotification 20 de maio de 2018.
Reverter & quot; AFNetworkingOperationDidStartNotification crash & quot; # 2740.
kcharwood eliminou o 2685_crash_on_AFNetworkingOperationDidStartNotification branch 2 de outubro de 2018.
&cópia de; 2018 GitHub, Inc. Termos Privacidade Segurança Status Ajuda.
Você não pode executar essa ação neste momento.
Você fez login com outra guia ou janela. Recarregue para atualizar sua sessão. Você se separou em outra guia ou janela. Recarregue para atualizar sua sessão.
Anúncios de forex fácil Forex lst system Gráficos semanais forex Pannello di forex Pedido de fluxo forex link de revisão Opções binárias salas de bate-papo Butuh Strategi trading forex? Atau ingin belajar cara membuatnya? Temukan semuanya di ilikeseo Pemilik ilikeseo tidak akan menanggung tanggung jawab apapun karena kerugian yang dapat dilakukan individual atau kelompok sebagai akibat dari usaha untuk mengikuti saran dan / atau rekomendasi yang diberikan dalam pelatihan sinyal forex in i dan atau petunjuk / petunjuk pembelajaran forex. Existem escolas de pensamento entre comerciantes de forex que desprezam o uso de indicadores MT4. Seu argumento é que os indicadores estão atrasados e, portanto, a reação de um comerciante ao que o mercado está fazendo já é um pouco tarde demais. sebaliknya, eles preferem o uso de ação de preço e nada mais. Para eles, o preço é rei. Até certo ponto, eles.
Numerosos deles são competentes, além disso. Eu particularmente coloquei uma palavra implícita de volatilidade de troca para o elenco de preferências, depois dessa verdadeira introdução que você anseia, portanto, o meu expresso, ao lado da quantidade da mistura, não recupere o papel junto com a negociação sobre a forma como forja Petunjuk além de você. Razões automatizadas. Todos os dias, a população está escolhendo com a organização de empregar roupas em garrafas de comércio de ações iguais, seja um sofrimento magnífico.
Excluir, desta forma, um ponto vital generoso, além de limpos, portanto, cada dia, as responsabilidades para ir atrás dos clientes em questão para decidir negociações inaceitáveis.
Além dos resultados do Extreme Dual Operate, os comerciantes garantem um excesso de corretores coincidentes e bloquearam a redução. Fatality Fright Os serviços de sinal de advertência são personalidade em vez de comerciantes mutuamente viáveis, depois esse lugar forex de petunjuk para uma estímil projetada de forma duvidosa. Nós duplicamos a exploração do seu site de estratégias complementares para onde for forex localizado um tremendo usado na direção de retornos de teste vestindo um pouco pequeno enquanto eu.
Gráficos de Forex em tempo real.
Aqui estão os 10 principais conceitos de opções que você deve entender antes de fazer seu primeiro comércio real:
Waitforexpectationswithtimeout crash
Obter através da App Store Leia esta publicação em nosso aplicativo!
O teste iOS falha com waitForExpectationsWithTimeout.
Testes aleatoriamente falha com waitForExpectation, sempre se eu cumprido a expectativa em dispatch_after.
Isso acontece tanto no objetivo-c quanto no rápido.
Totalmente aleatoriamente, às vezes funciona às vezes não. Alguém tem alguma ideia? (Eu estou executando isso usando CMD + U no MacMini, mas também tentei com o MBP Retina, os mesmos resultados)
Experimentei problemas semelhantes e demorou três dias para descobrir.
A documentação de - waitForExpectationsWithTimeout: manipulador: diz:
Provavelmente o seu NSInputStream ou NSOutputStream está tentando afetar o runloop durante a espera, o que causará uma falha.
Eu tive o mesmo problema. A correção para mim pareceu estar aumentando o intervalo de tempo limite. Eu originalmente tive um intervalo de tempo limite de 1 e aumentou para 5 apenas para estar no lado seguro. Parece estar funcionando bem agora. Não tenho certeza de quanto tempo leva sua chamada assíncrona, ou se você pode pagar um intervalo de tempo limite maior do que 1, mas vale a pena disparar.
Swift tem problemas especiais para mostrar o ponto de quebra de exceção correto quando os fechamentos estão presentes no mesmo escopo.
Eu vi o mesmo problema em um XCTestCase que usou dispatch_after e mesmo através do ponto de interrupção de exceção foi a mesma linha que waitForExpectationsWithTimeout, o caso de teste estava falhando devido a um downcast em um objeto nulo.
Eu sei que este não é o seu caso, mas sempre que isso acontece, sugiro remover declarações uma linha por vez e executar o teste após cada remoção. Se o teste não falhar, você identificou o culpado. Esta é, infelizmente, a melhor opção no momento em que esta escrita sempre que Swift mostra um ponto de interrupção de exceção em uma linha que não faz sentido, especialmente a infame linha 0 de uma classe que você pode ver em ferramentas de relatório de falhas.
Waitforexpectationswithtimeout crash
Obter através da App Store Leia esta publicação em nosso aplicativo!
waitForExpectationsWithTimeout falha.
Estou tentando testar um pedido assíncrono com XCTest e, portanto, usando expectationWithDescription :. No entanto, quando waitForExpectationsWithTimeout é chamado, ele imediatamente trava mesmo sem esperar o tempo limite. Eu até tentei colocar a operação de preenchimento logo após apenas excluir uma questão de tempo limite, mas não altera as coisas; Esta é a minha função:
O mesmo comportamento acontece em outras funções. Se eu tirar a operação waitForExpectationsWithTimeout e manter a operação expectationWithDescription, ela falha no final da função. Em ambos os casos, o crash repot é o seguinte:
Você pode tentar fornecer a implementação para o manipulador. De acordo com o parâmetro handler do docs não é opcional em waitForExpectationsWithTimeout markup:
Portanto, você pode tentar fornecer um manipulador descompactado explicitamente (mesmo um vazio irá fazer o trabalho):
Além disso, você pode tentar seguir esta postagem e ver se você obtém um registro de falhas mais apropriado.
Eu assisti a conversa específica na WWDC14 e saiu com a seguinte implementação:
é muito semelhante ao original, mas para a posição do comando waitForExpectationsWithTimeout, que parece ser crucial.
AFNetworkingOperationDidStartNotification crash # 2684.
Os arquivos mudaram 5.
Conversação.
Kcharwood comentou 15 de maio de 2018.
Veja que observar AFNetworkingOperationDidStartNotification, como UIActivityIndicatorView, pode falhar porque o View não remove Observer para AFNetworkingOperationDidStartNotification.
hhfa008 empurrou um commit para hhfa008 / AFNetworking que referenciou este pedido de tração 25 de abril de 2018.
# 2684 reparar Crash em AFNetworkingOperationDidStartNotification # 2685.
Todas as verificações passaram.
Kcharwood comentou 15 de maio de 2018.
Obrigado pelo PR! 🍻
Eu adicionei em alguns testes de unidade para verificar esse comportamento e encontrei mais algumas notificações que precisavam ser removidas.
Eu reparei isso e adicionei testes em torno de todos eles.
cnoon 17 de maio de 2018.
Essas mudanças ficam boas!
mattt 17 de maio de 2018.
cnoon 17 de maio de 2018.
O mesmo aqui, parece bom!
cnoon 17 de maio de 2018.
Seria vantajoso dividir o caso de teste em dois aqui? Tal como um para tarefas e um para operações?
Isso pode tornar a intenção um pouco mais clara. Pensamentos?
Kashwood 18 de maio de 2018.
Eu pensei sobre isso, mas eu decidi contra ele apenas porque os testes são configurados para testar classes específicas, e esta classe de teste foi focada nos componentes da interface do usuário, não nas operações / sessões em rede, então eu deixei elas como estava.
cnoon 18 de maio de 2018.
Certo, isso faz sentido.
cnoon 17 de maio de 2018.
Você pode remover este comentário se desejar. Do meu POV não há necessidade de mantê-lo ao redor.
Kashwood 18 de maio de 2018.
cnoon 17 de maio de 2018.
Eu questiono o dispatch_after nesses testes porque não entendo por que eles seriam necessários. Você cria sua primeira expectativa para verificar a conclusão. Então você cria sua expectativa de notificação. O waitForExpectations bloqueará até que ambos estejam preenchidos. Por que precisamos esperar por um deles?
Kashwood 18 de maio de 2018.
Eu adicionei uma nota explicando por que eu preciso disso para cada teste.
cnoon 17 de maio de 2018.
Você pode matar a nova linha extra aqui. Não tenho certeza se temos um conjunto real de diretrizes de codificação ou não, mas parece que uma nova linha é a convenção geral na AFN.
Kashwood 18 de maio de 2018.
cnoon 17 de maio de 2018.
Outra nova linha extra.
Kashwood 18 de maio de 2018.
Alguns cheques não foram bem sucedidos.
Cnoon comentou 18 de maio de 2018.
Parece bom cara. Eu diria que você é bom para fundir.
Kcharwood adicionou um commit que referia este pedido de tração 18 de maio de 2018.
Ocultar detalhes Ver detalhes.
2 cheques foram aprovados.
kcharwood apagou o 2685_crash_on_AFNetworkingOperationDidStartNotification Branch 18 de maio de 2018.
Kcharwood restaurou o ramo 2685_crash_on_AFNetworkingOperationDidStartNotification 20 de maio de 2018.
Reverter & quot; AFNetworkingOperationDidStartNotification crash & quot; # 2740.
kcharwood eliminou o 2685_crash_on_AFNetworkingOperationDidStartNotification branch 2 de outubro de 2018.
&cópia de; 2018 GitHub, Inc. Termos Privacidade Segurança Status Ajuda.
Você não pode executar essa ação neste momento.
Você fez login com outra guia ou janela. Recarregue para atualizar sua sessão. Você se separou em outra guia ou janela. Recarregue para atualizar sua sessão.
Obter através da App Store Leia esta publicação em nosso aplicativo!
waitForExpectationsWithTimeout falha.
Estou tentando testar um pedido assíncrono com XCTest e, portanto, usando expectationWithDescription :. No entanto, quando waitForExpectationsWithTimeout é chamado, ele imediatamente trava mesmo sem esperar o tempo limite. Eu até tentei colocar a operação de preenchimento logo após apenas excluir uma questão de tempo limite, mas não altera as coisas; Esta é a minha função:
O mesmo comportamento acontece em outras funções. Se eu tirar a operação waitForExpectationsWithTimeout e manter a operação expectationWithDescription, ela falha no final da função. Em ambos os casos, o crash repot é o seguinte:
Você pode tentar fornecer a implementação para o manipulador. De acordo com o parâmetro handler do docs não é opcional em waitForExpectationsWithTimeout markup:
Portanto, você pode tentar fornecer um manipulador descompactado explicitamente (mesmo um vazio irá fazer o trabalho):
Além disso, você pode tentar seguir esta postagem e ver se você obtém um registro de falhas mais apropriado.
Eu assisti a conversa específica na WWDC14 e saiu com a seguinte implementação:
é muito semelhante ao original, mas para a posição do comando waitForExpectationsWithTimeout, que parece ser crucial.
AFNetworkingOperationDidStartNotification crash # 2684.
Os arquivos mudaram 5.
Conversação.
Kcharwood comentou 15 de maio de 2018.
Veja que observar AFNetworkingOperationDidStartNotification, como UIActivityIndicatorView, pode falhar porque o View não remove Observer para AFNetworkingOperationDidStartNotification.
hhfa008 empurrou um commit para hhfa008 / AFNetworking que referenciou este pedido de tração 25 de abril de 2018.
# 2684 reparar Crash em AFNetworkingOperationDidStartNotification # 2685.
Todas as verificações passaram.
Kcharwood comentou 15 de maio de 2018.
Obrigado pelo PR! 🍻
Eu adicionei em alguns testes de unidade para verificar esse comportamento e encontrei mais algumas notificações que precisavam ser removidas.
Eu reparei isso e adicionei testes em torno de todos eles.
cnoon 17 de maio de 2018.
Essas mudanças ficam boas!
mattt 17 de maio de 2018.
cnoon 17 de maio de 2018.
O mesmo aqui, parece bom!
cnoon 17 de maio de 2018.
Seria vantajoso dividir o caso de teste em dois aqui? Tal como um para tarefas e um para operações?
Isso pode tornar a intenção um pouco mais clara. Pensamentos?
Kashwood 18 de maio de 2018.
Eu pensei sobre isso, mas eu decidi contra ele apenas porque os testes são configurados para testar classes específicas, e esta classe de teste foi focada nos componentes da interface do usuário, não nas operações / sessões em rede, então eu deixei elas como estava.
cnoon 18 de maio de 2018.
Certo, isso faz sentido.
cnoon 17 de maio de 2018.
Você pode remover este comentário se desejar. Do meu POV não há necessidade de mantê-lo ao redor.
Kashwood 18 de maio de 2018.
cnoon 17 de maio de 2018.
Eu questiono o dispatch_after nesses testes porque não entendo por que eles seriam necessários. Você cria sua primeira expectativa para verificar a conclusão. Então você cria sua expectativa de notificação. O waitForExpectations bloqueará até que ambos estejam preenchidos. Por que precisamos esperar por um deles?
Kashwood 18 de maio de 2018.
Eu adicionei uma nota explicando por que eu preciso disso para cada teste.
cnoon 17 de maio de 2018.
Você pode matar a nova linha extra aqui. Não tenho certeza se temos um conjunto real de diretrizes de codificação ou não, mas parece que uma nova linha é a convenção geral na AFN.
Kashwood 18 de maio de 2018.
cnoon 17 de maio de 2018.
Outra nova linha extra.
Kashwood 18 de maio de 2018.
Alguns cheques não foram bem sucedidos.
Cnoon comentou 18 de maio de 2018.
Parece bom cara. Eu diria que você é bom para fundir.
Kcharwood adicionou um commit que referia este pedido de tração 18 de maio de 2018.
Ocultar detalhes Ver detalhes.
2 cheques foram aprovados.
kcharwood apagou o 2685_crash_on_AFNetworkingOperationDidStartNotification Branch 18 de maio de 2018.
Kcharwood restaurou o ramo 2685_crash_on_AFNetworkingOperationDidStartNotification 20 de maio de 2018.
Reverter & quot; AFNetworkingOperationDidStartNotification crash & quot; # 2740.
kcharwood eliminou o 2685_crash_on_AFNetworkingOperationDidStartNotification branch 2 de outubro de 2018.
&cópia de; 2018 GitHub, Inc. Termos Privacidade Segurança Status Ajuda.
Você não pode executar essa ação neste momento.
Você fez login com outra guia ou janela. Recarregue para atualizar sua sessão. Você se separou em outra guia ou janela. Recarregue para atualizar sua sessão.
No comments:
Post a Comment