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