让我们说:
- (NSString *)someMethod:(NSString *)input
{
NSError *error = nil;
NSString *result = [otherObject processInput:input error:&error];
if (error == nil) {
return result;
}
else {
return nil;
}
}
如何使用Kiwi对其进行单元测试以检查其他行为?
当然我可以把一些讨厌的东西当作input
,但我不想使用那种方法。它是someMethod:
方法的单元测试,不是processInput:error:
方法,otherObject
是KWMock
。我一直在尝试使用KWCaptureSpy
类或stub: withArguments:
,但要么我使用了它们错误,要么它们不是解决方案。
此致
答案 0 :(得分:0)
在Cocoa中,你应该检查一个方法是否返回nil
,而不是error
对nil
http://rentzsch.tumblr.com/post/260201639/nserror-is-hard检查。
所以也许重写someMethod
来检查otherObject
存根返回的值,而不是error
指针。以这种方式测试会更容易(您只需要从stub:andReturn:
调用KWMock
方法,返回nil
或非零值),您将遵循Cococa惯例。