En mi trabajo diario me he echado a perder con Mockito's never()
verification, que puede confirmar que nunca se llama a un método falso.¿Cómo puedo usar OCMock para verificar que nunca se llame a un método?
¿Hay alguna manera de lograr lo mismo usando Objective-C y OCMock? He estado usando el siguiente código, que funciona pero se siente como un truco. Estoy esperando que hay una manera mejor ...
- (void)testSomeMethodIsNeverCalled {
id mock = [OCMockObject mockForClass:[MyObject class]];
[[[mock stub] andCall:@selector(fail) onObject:self] forbiddenMethod];
// more test things here, which hopefully
// never call [mock forbiddenMethod]...
}
- (void)fail {
STFail(@"This method is forbidden!");
}
que trabajaron totalmente! No esperaba que fuera tan simple. Para ser el abogado del diablo, ¿crees que esto oculta la intención de la prueba? –
@Justin: Bueno, requiere que el lector conozca el comportamiento de OCMock en este caso, lo cual no es demasiado obvio. Poner un comentario justo al lado de la llamada de verificación simulada debería ser suficiente para dejar en claro lo que debería suceder. Me gusta: '// verify debería fallar porque llamamos a un método inesperado en el simulacro. –