isMemberOfClass devuelve no cuando se crea una instancia de ViewController desde UIStoryboard
Tengo una clase de prueba OCUnit: PatientTestViewControllerTests. A continuación se muestra la interfaz:
@interface PatientTestViewControllerTests : SenTestCase
@property (nonatomic, strong) PatientTestViewController *testController;
@end
y configuración:
- (void) setUp
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Testing" bundle:nil];
self.testController = [storyboard instantiateInitialViewController];
}
El guión gráfico "Pruebas" es el único guión gráfico de mi aplicación y se configura como el guión gráfico principal de la aplicación. El PatientTestViewController se establece como el único controlador de vista del guión gráfico.
Tengo una prueba en mi clase de prueba:
- (void) testInitialTestingStoryboardViewIsPatientTest
{
STAssertTrue([self.testController isMemberOfClass:[PatientTestViewController class]], @"Instead of the %@, we have %@",[PatientTestViewController class], [self.testController class]);
}
Esta prueba falla con el siguiente mensaje de registro:
error: - [PatientTestViewControllerTests testInitialTestingStoryboardViewIsPatientTest]: "[self.testController isMemberOfClass: [clase PatientTestViewController]]" debe ser verdadero. En vez dePatientTestViewController, tenemosPatientTestViewController
¿Cómo puede ser esto? Ya que
[self.testController isMemberOfClass:[PatientTestViewController class]]
es aparentemente falso, ¿cómo puede el registro de pruebas decir que ambos
[self.testController class]
y[PatientTestViewController class]
¿el mismo aspecto?
Información adicional:
utilizando[self.testController isKindOfClass:[PatientTestViewController class]]
en la prueba tambien fallautilizando[self.testController class] == [PatientTestViewController class]
falla tambien
utilizando[self.testController isKindOfClass:[UIViewController class]]
Pases
[self.testController isMemberOfClass:[UIViewController class]]
Fallas