2016-07-12 52 views
0

我正在测试一个拥有委托的类。委托是测试类课程,并从委托方法的实现我所说的不同的期望:XCTest:我怎么知道哪个XCTestExpectation调用了'fulfill'?

- (void)mySuccess { 

     [self.successExpectation fulfill]; 

} 

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

    [self.failExpectation fulfill]; 

} 

如何从测试类的期望所谓的“履行”告知?

回答

0

这是不正确的方式期望被应用。你应该排队等待发生的事情,然后可能会或可能不会实现。如果您的期望未得到满足,测试将失败,这意味着您无需跟踪是否满足“失败”或“成功”的期望。你可以从单一的期望中获得成功或失败,所以你应该以这种方式使用期望值,如果这对你的代码是可能的。例如,您的mySuccess方法应该根据您的期望调用履行,但myFail不应该执行任何操作(导致您的期望未被满足)和/或引发错误或XCTFail()。

+0

那么,我想验证,如果失败的委托方法myFail实际上被调用。无论如何,我看到我必须有点创意。谢谢! – Yotam

+0

在这种情况下,只要摆脱mySuccess的期望,并让您的文本失败或传递基于myFail的期望。 :) – Oletha

相关问题