2

测试目标的代码如下。

- (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

4

0 回答 0