Jednym z parametrów mojej metody jest ** błąd i mój projekt jest w trybie ARC. Podczas pisania kodu pośredniczącego dla tej metody wywołania metody próbnej ustawiam parametr poniżej możliwych wartości. Albo powoduje błąd kompilacji, albo nie dopasowuje argumentu do wywołania metody próbnej.Jak pozorować parametr ** w OCMock w ARC
- OCMOCK_ANY
- [OCMArg anyPointer]
- Utworzono błąd obiektu NSError i powiedział: [OCMArg SETTO błędzie].
Nic nie działa.
Jak udawać taką metodę? Proszę o poradę.
Edit
-(id)init{
self = [super init];
if (self) {
id wcm = [OCMockObject partialMockForObject:self];
[[[wcm stub] andCall:@selector(mockGetWakeupCallsForRoomNumber:error:) onObject:self] getWakeupCallsForRoomNumber:OCMOCK_ANY error:((NSError __autoreleasing **) [OCMArg anyPointer])];
//[[[wcm stub] andCall:@selector(testMockMethod) onObject:self] testMethod];
}
return self;
}
-(void)testMethod
{
NSLog(@"Original");
}
-(void)testMockMethod
{
NSLog(@"Mock");
}
-(NSArray*)mockGetWakeupCallsForRoomNumber:(NSString*)roomNumber error:(NSError**)error
{
@throw @"Mock method called";
}
-(NSArray*)getWakeupCallsForRoomNumber:(NSString*)roomNumber error:(NSError**)error
{
}
Mock na testMockMethod działa.
[[[wcm en] andCall: @selector (mockGetWakeupCallsForRoomNumber: błąd :) onObject Samodzielny] getWakeupCallsForRoomNumber: błąd OCMOCK_ANY ((NSError __autoreleasing **) [OCMArg anyPointer])]; połączenia nie odwołują się do metody próbnej. Proszę pomóż. – Saran
Dodaj pytanie testowe i kod, który testujesz do swojego pytania. –
Dodano kod. To jest w bibliotece odpowiedzialnej za podłączenie serwera zaplecza. Moją intencją jest posiadanie umiejętności dostarczania fałszywych informacji do czasu wdrożenia wymaganej usługi w zapleczu. – Saran