Хотя я думаю, что CipherCom имеет правильный ответ, я предпочитаю создать вспомогательный класс для возврата различных значений.В прошлом у меня были проблемы с NSInvocation
.
@interface TestHelper : NSObject
@property (nonatomic, assign) CGPoint velocity;
- (CGPoint)getCurrentVelocity;
@end
@implementation TestHelper
- (CGPoint)getCurrentVelocity
{
return self.velocity;
}
@end
Тогда в моем тестовом классе у меня была бы закрытая переменная-член для TestHelper
, а в методе setUp
я бы делал:
self.testHelper = [TestHelper new];
[[[physics stub] andCall:@selector(getCurrentVelocity) onObject:self.testHelper]
getCurrentVelocity];
Таким образом, в каждом из моих тестов я мог установить скорость, необходимую для теста.
self.testHelper.velocity = CGPointMake(100, 200);