[英]What is a practical example of using Kiwi's KWCaptureSpy?
我無法理解使用Kiwi的KWCaptureSpy
的實際應用是什么。 我可以做這樣的事情,並使其通過:
__block id successJSON;
KWCaptureSpy *successBlockSpy =
[HNKServer captureArgument:@selector(GET:parameters:completion:)
atIndex:2];
[[HNKServer sharedServer] GET:@""
parameters:nil
completion:^(id JSON, NSError *error) {
successJSON = JSON;
}];
HNKServerRequestCallback successBlock = successBlockSpy.argument;
successBlock(@"JSON", nil);
[[successJSON shouldEventually] equal:@"JSON"];
但這似乎並沒有實際測試任何東西。 Kiwi文檔中的示例無濟於事: https : //github.com/kiwi-bdd/Kiwi/wiki/Mocks-and-Stubs#capturing-arguments
有沒有人有充分的理由在實踐中使用KWCaptureSpy
?
這是一種可能的情況:
POST /user
來更新您的配置文件。 HNKUser
類,該類聲明了一個調用webservice的updateFirstName:lastName:
方法 firsName
和lastName
發送到服務器(例如,它也不發送生日和其他詳細信息) 假設討論中的方法看起來像這樣(為簡單起見,我省略了完成處理程序):
- (void)updateFirstName:(NSString*)firstName lastName:(NSString*)lastName {
// preparation code
// ...
[serverApi POST:@"/user" parameters:someParamsYouveBuiltInTheMethod completion:someCompletionHandler];
// ...
}
那么您可能想要捕獲第二個參數,並確保它僅包含firstName
和lastName
字段,並且這些字段具有正確的值。
需要注意的是,建議在模擬中使用間諜,從您的示例來看,我認為您不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.