How To Test Blocks When Making Unit Tests For Objective-C
Gist Code: https://gist.github.com/2976465 |
- (void)loadMore:(BOOL)more didFinishLoad:(requestDidFinishLoadBolck)requestDidFinishLoad
loadWithError:(requestLoadWithErrorBlock)requestLoadWithError
我們可以開一個 NSRunLoop 來輔助,先宣告一個 BOOL done 來控制影響後面我們的 Run Loop 的執行狀況。但是在 while 迴圈裡面也是有個上限,透過 usleep() 來控制要等待多少 microseconds 。當整個等待架構好之後,回到主要要測試的程式,在最後結果的 finish load 和 load with error 裡面都補上 loading done 的轉換成 YES,如此一來提早執行完我們也可以將等待的 Run Loop 結束掉。
以上透過這樣方式即可完成我們在程式是需要網路呼叫的測試了。程式使用 Blocks 方式撰寫也不成問題。相關文章:使用 SenTestCase 為後續整合更快速、使用 SenTestCase 為 Continuous Integration 之路更踏實。
以上透過這樣方式即可完成我們在程式是需要網路呼叫的測試了。程式使用 Blocks 方式撰寫也不成問題。相關文章:使用 SenTestCase 為後續整合更快速、使用 SenTestCase 為 Continuous Integration 之路更踏實。
Comments
Post a Comment