Pergunta

Estou escrevendo um método de teste no qual desejo que o SUT lance uma exceção sob certas condições.O código fica assim:

- (void) testCantStartTwice
{
    XCTAssertThrows([self.sut start], @"");
}

Agora está tudo bem e o teste passa.No entanto, o Xcode definiu um ponto de interrupção de exceção para todas as exceções ObjC, o que é bastante útil ao testar um aplicativo no depurador.Como você agora, quando executo meu conjunto de testes com ⌘U, ele para naquele teste e parece que está falhando, mesmo que diga "Teste bem-sucedido".

Qualquer maneira de fazer o ponto de interrupção não pare naquele teste?

Obrigado e tudo de bom

Foi útil?

Solução

Talvez você possa usar um ponto de interrupção de falha de teste em vez de um ponto de interrupção de exceção quando você está testando.O vídeo WWDC 2013 no teste de unidade delineou um bom fluxo de trabalho para inspecionar falhas de teste.Essencialmente disse:

    .
  1. Defina um ponto de interrupção de falha de teste que permitirá inspecionar as condições que causaram a falha.
  2. Se necessário, defina um ponto de interrupção manual no início no teste e execute novamente para que você possa percorrer as declarações que levam à falha como de costume.
  3. Esta não é uma resposta direta, mas, tanto quanto eu sei, não acho que exista uma maneira de criar exceções ao ponto de interrupção da exceção.Espero que ajude

Outras dicas

Eu tive o mesmo problema e eu estava procurando por solução por 2 horas.Provavelmente não podemos fazer nada com isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top