isMemberOfClass zwraca nie, gdy wystąpi instancja ViewController z UIStoryboard

Mam klasę testową OCUnit: PatientTestViewControllerTests. Poniżej znajduje się interfejs:

@interface PatientTestViewControllerTests : SenTestCase

@property (nonatomic, strong) PatientTestViewController *testController;

@end

i ustaw:

- (void) setUp
{    
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Testing" bundle:nil];
    self.testController = [storyboard instantiateInitialViewController];
}

Seria scenariuszy „Testowanie” jest jedyną scenorią w mojej aplikacji i jest ustawiona jako główna storyboard aplikacji. Sterownik PatientTestViewController jest ustawiony jako jedyny kontroler widoku serii ujęć.

Mam jeden test w mojej klasie testowej:

- (void) testInitialTestingStoryboardViewIsPatientTest
{
    STAssertTrue([self.testController isMemberOfClass:[PatientTestViewController class]], @"Instead of the %@, we have %@",[PatientTestViewController class], [self.testController class]);
}

Ten test kończy się niepowodzeniem z następującym komunikatem dziennika:

error: - [PatientTestViewControllerTests testInitialTestingStoryboardViewIsPatientTest]: "[self.testController isMemberOfClass: [PatientTestViewController class]]" powinno być prawdziwe. Zamiast tegoPatientTestViewController, mamyPatientTestViewController

Jak to może być? Od

[self.testController isMemberOfClass:[PatientTestViewController class]]

jest pozornie fałszywa, w jaki sposób dziennik testu może powiedzieć, że oba

[self.testController class] i[PatientTestViewController class]

wygląda tak samo?

Dodatkowe informacje:

za pomocą[self.testController isKindOfClass:[PatientTestViewController class]] w teście również zawodzi

za pomocą[self.testController class] == [PatientTestViewController class] zawodzi również.

za pomocą[self.testController isKindOfClass:[UIViewController class]] KARNETY.

za pomocą[self.testController isMemberOfClass:[UIViewController class]] FAILS.

questionAnswers(2)

yourAnswerToTheQuestion