测试目标的代码如下。
- (PMKPromise *)fetchByUserId:(NSString *)userId {
UserApiClient *user = [UserApiClient new];
return [user fetchByUserId:userId].then(^(UserEntity *entity) {
// I want to test here.
entity.userId = userId;
return entity;
});
}
下面是一段测试代码。我想打电话then
,但我不能。
- (void)testFetchByUserId {
id mock = OCMClassMock([UserApiClient class]);
OCMExpect([mock new]).andReturn(mock);
__block PMKFulfiller fulfiller;
PMKPromise* promise = [PMKPromise new:^(PMKFulfiller fulfill, PMKRejecter reject) {
fulfiller = fulfill;
}];
OCMExpect([mock fetchByUserId:@"userId"]).andReturn(promise);
UserStore* target = [UserStore new];
[target fetchByUserId:@"userId"];
fulfiller([UserEntity new]);
OCMVerifyAll(mock);
[mock stopMocking];
}
我怎么打电话then
?