isMemberOfClass gibt no zurück, wenn ViewController aus UIStoryboard instanziiert wird

Ich habe eine OCUnit-Testklasse: PatientTestViewControllerTests. Unten ist die Schnittstelle:

@interface PatientTestViewControllerTests : SenTestCase

@property (nonatomic, strong) PatientTestViewController *testController;

@end

und setUp:

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

Das Storyboard "Testen" ist das einzige Storyboard in meiner App und wird als Haupt-Storyboard der App festgelegt. Der PatientTestViewController ist der einzige Ansichtscontroller des Storyboards.

Ich habe einen Test in meiner Testklasse:

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

Dieser Test schlägt mit der folgenden Protokollmeldung fehl:

Fehler: - [PatientTestViewControllerTests testInitialTestingStoryboardViewIsPatientTest]: "[self.testController isMemberOfClass: [PatientTestViewController class]]" sollte wahr sein. Anstatt derPatientTestViewController, wir habenPatientTestViewController

Wie kann das sein? Schon seit

[self.testController isMemberOfClass:[PatientTestViewController class]]

ist anscheinend falsch, wie kann das testprotokoll beides aussagen

[self.testController class] und[PatientTestViewController class]

gleich aussehen?

Zusätzliche Information:

mit[self.testController isKindOfClass:[PatientTestViewController class]] im test scheitert auch

mit[self.testController class] == [PatientTestViewController class] scheitert auch.

mit[self.testController isKindOfClass:[UIViewController class]] GEHT VORBEI.

mit[self.testController isMemberOfClass:[UIViewController class]] AUSFÄLLE.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage