Теперь у меня есть ответ. +1 за заполнение части головоломки.

ы пишете модульные тесты первого респондента?

Я пытаюсь написать тест, чтобы подтвердить, что метод продвигает фокус к следующему текстовому полю.controller является потомкомUIViewController, Но это предварительное испытание не проходит:

- (void)testFirstResponder
{
    [controller view];
    [[controller firstTextField] becomeFirstResponder];

    STAssertTrue([[controller firstTextField] isFirstResponder], nil);
}

Первая строка заставляет представление быть загруженным так, чтобы его выходы были на месте. Текстовые поля не равны нулю. Но испытание никогда не проходит.

Я предполагаю, чтоbecomeFirstResponder не устанавливает первого респондента сразу, а назначает его на потом. Так есть ли хороший способ написать модульный тест против него?

Подтягивание ответа из комментария в принятый ответ ... Позвольте вещам бежать в течение короткого времени:

[[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];

Я также обнаружил, что мне нужно создать UIWindow и поместить в него представление контроллера представления, как указано в ответе с наибольшим количеством голосов.

Ответы на вопрос(3)

Ваш ответ на вопрос