estoy tratando de burlarse de un método que tiene el equivalente a la firma siguiente:¿Cómo me burlo de un método que acepta un identificador como argumento en OCMock?
- (NSDictionary *) uploadValues:(BOOL)doSomething error:(NSError **)error
quiero que vuelva un pequeño diccionario para que mi prueba puede asegurarse de que el código utiliza el diccionario correctamente. sin embargo, no importa lo que haga OCMock siempre devuelve nada del método, independientemente de cómo lo resuelvo. El error comienza como nula en el código que estoy probando, y éstas son las diferentes maneras lo he intentado stubbing que:
NSError * error = nil;
[[[mock stub] andReturn:someDict] uploadValues:YES error:&error];
[[[mock stub] andReturn:someDict] uploadValues:YES error:nil];
[[[mock stub] andReturn:someDict] uploadValues:YES error:[OCMArg any]];
y ninguno de ellos trabajan. ¿El soporte de OCMock se maneja como argumentos de mensajes ocultos y, de ser así, cuál es la forma correcta de hacerlo?
Sí, eso tiene sentido. Gracias por la visión. – Kevlar
El uso y la provisión de métodos que acepten NSError ** es el mecanismo de manejo de errores preferido en Cocoa. Sugiero seguir con este paradigma y echar un vistazo a la respuesta de Andreas Järliden para burlarse de estos métodos. – rluba
Consulte la respuesta de Andreas Järliden a continuación. Tu respuesta es incorrecta – markshiz