XCTest:如何判断调用了哪个 XCTestExpectation 'fulfill'?

XCTest: how can I tell which XCTestExpectation invoked 'fulfill'?

我正在测试具有委托的 class。委托当然是测试class,从委托方法的实现我调用不同的期望:

- (void)mySuccess {

        [self.successExpectation fulfill];

}

- (void)myFail:(NSError *)error {

    [self.failExpectation fulfill];

}

我如何从测试 class 中判断哪个期望称为 'fulfill'?

这不是预期的正确使用方式。您应该对某事发生的期望排队,然后可能会或可能不会实现。如果未满足您的期望,测试将失败,这意味着您无需跟踪是否满足 'fail' 或 'success' 期望。您可以从单一期望中得出成功或失败,因此如果您的代码可能的话,您应该以这种方式使用期望。

例如,您的 mySuccess 方法应根据您的期望调用 fulfill,但 myFail 不应执行任何操作(导致您的期望未实现)and/or 引发错误或 XCTFail()。