2016-07-12 70 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

相關問題