У этого вопроса очень мало просмотров и ответов пока нет. Если у вас есть предложение, чтобы изменить этот вопрос, чтобы получить больше глазных яблок, я был бы рад их услышать. Ура!
Я использую GHAsyncTestCase
, чтобы протестировать собственный NSOperation
. Я устанавливаю тестовый пример в качестве делегата для объекта операции, и я вызываю didFinishAsyncOperation
в основном потоке, когда это делается.
Когда утверждение терпит неудачу, оно вызывает исключение, которое должно быть уловлено тестовым случаем, чтобы сделать тест "неудачным". Но вместо этого ожидаемого поведения мое приложение прерывается Xcode, как только утверждение терпит неудачу.
*** Завершение приложения из-за неперехваченного исключения "GHTestFailureException", причина: "NO" должна быть ИСТИНА. Это должно вызвать неудачный тест, но вместо этого отключает мое приложение.
Я, очевидно, что-то делаю неправильно. Кто может мне сказать?
@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