単体テストでは、UITextField で becomeFirstResponder メソッドを呼び出そうとしていますが、NO を取得しています。つまり、最初のレスポンダーにはなりません。
コードは次のようになります。
UITextField *textField = [self.controller.searchBar valueForKey: @"_searchField"];
// textField = [[UITextField alloc] initWithFrame:CGRectMake(10.0, 10.0, 400.0, 44.0)];
[self.navigationController.navigationBar addSubview:textField];
textField.enabled = YES;
STAssertTrue([textField becomeFirstResponder],
@"TextField should be a first responder.");
ここで何か不足していますか?