or que uma declaração falsa no teste assíncrono no GHUnit falha o aplicativo em vez de apenas falhar no test

Esta pergunta tem muito poucas visualizações e ainda não há respostas. Se você tiver uma sugestão do que mudar sobre essa pergunta para obter mais olhos, ficaria feliz em ouvi-los. Felicidades

Estou a usarGHAsyncTestCase para testar um @ personalizaNSOperation meu. Estou definindo o caso de teste como um delegado no objeto de operação e chamandodidFinishAsyncOperation na linha principal quando termina

Quando uma afirmação falha, gera uma exceção, que deve ser capturada pelo caso de teste para renderizar o teste como "falhou". Mas, em vez desse comportamento esperado, meu aplicativo é abortado pelo Xcode assim que a afirmação falh

*** Finalizando o aplicativo devido à exceção não capturada 'GHTestFailureException', motivo: '' NÃO 'deve ser VERDADEIRO. Isso deve desencadear um teste com falha, mas trava meu aplicativo. '

Obviamente estou fazendo algo errado. Quem pode me dizer?

@interface TestServiceAPI : GHAsyncTestCase
@end

@implementation TestServiceAPI

    - (BOOL)shouldRunOnMainThread
    {
        return YES;
    }

    - (void)testAsyncOperation
    {
        [self prepare];

        MyOperation *op = [[[MyOperation alloc] init] autorelease];

        op.delegate = self; // delegate method is called on the main thread.

        [self.operationQueue addOperation:op];

        [self waitForStatus:kGHUnitWaitStatusSuccess timeout:1.0];
    }

    - (void)didFinishAsyncOperation
    {
        GHAssertTrue(NO, @"This should trigger a failed test, but crashes my app instead.");

        [self notify:kGHUnitWaitStatusSuccess forSelector:@selector(testAsyncOperation)];
    }

@end

questionAnswers(4)

yourAnswerToTheQuestion