0
戻り値の型としてpmkpromiseと方法を模擬する方法:IOS - 私はユニットテストしたい私はメソッドを持って
- (void)fetchInfo {
[AMKAccountService getInfo]
.then(^(AMKInfoResponse *response) {
if (response.accounts.count > 0) {
_viewModel = [[AMKInfoViewModel alloc] initWithInfoResponse:response];
[self.view setAsOfDate:_viewModel.asOfDate];
} else {
[self.view showError:[AMKStrings feedbackForCode:@"testError"]];
}
}).catch(^(NSError *error) {
DLog(@"Error getting info: %@", error);
[self.view showError:[AMKStrings feedbackForCode:@"testError"]];
});
}この方法では
、「GETINFO」メソッドは、サービスの呼び出しを行いますタイプPMKPromiseオブジェクトの応答を返します。
私の質問はGETINFO方法を模擬し、1つのユニットテストや他のユニットテストのためにいわゆる「キャッチ」ブロックのためのいわゆる「し、」ブロックを作る方法です。ここで
[更新] がGETINFO方法です。これをテストするために
+ (PMKPromise *)getInfo {
AMKServicesClient *client = [AMKServicesClient sharedInstance];
return [client GET:@"/amk-web-services/rest/info" parameters:nil].thenInBackground(^(NSDictionary *responseDictionary) {
return [[AMKInfoResponse alloc] initWithResponse:responseDictionary];
});
}
あなたは 'getInfo'メソッドの定義を提供することができますか?私は簡単にPromiseKitで、私が見つけたものから見えた(https://github.com/mxcl/PromiseKit/search?utf8=%E2%9C%93&q=PMKPromise)私はすぐにどこ 'その後、()'定義されて見ることができません。私はそれがブロックを返すプロパティだと仮定しますが、私はタイプが正確であるかを見る必要があるだろう。あなたの応答エリックのため –
感謝。私は自分の質問を更新し、getInfoメソッドを追加しました。 – user3158704
何を試しましたか?テストケースはどのように見えますか? –