Как вы пишете тесты первого ответчика?
Я пытаюсь написать тест, чтобы подтвердить, что метод продвигает фокус на следующее текстовое поле. controller
является потомком UIViewController
. Но этот пробный тест не проходит:
- (void)testFirstResponder
{
[controller view];
[[controller firstTextField] becomeFirstResponder];
STAssertTrue([[controller firstTextField] isFirstResponder], nil);
}
Первая строка заставляет просмотр загружаться так, чтобы его выходы были на месте. Текстовые поля не равны нулю. Но тест никогда не проходит.
Я предполагаю, что becomeFirstResponder
не устанавливает первый ответчик сразу, но планирует его позже. Так есть хороший способ написать unit test против него?
Вызов ответа из комментария в принятом ответе... Пусть все будет работать в течение короткого времени:
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];