2013-05-29 44 views
1

我目前的實現是一個AFHTTPClient子類和伴隨的管理類,它處理與API的連接。由於該應用將用於無法保證網絡連接性的地方,因此我希望圍繞處理網絡可達性變化的代碼編寫一些單元測試。afhttpclient單元測試網絡可達性的變化

我已經實現了一個setReachabilityStatusChangeBlock,並且希望確保這個被調用並以正確的方式運行。

是否有人熟悉模擬單元測試中使用的網絡可達性變化?我目前使用Kiwi進行單元測試,並使用OHHTTPStubs來模擬從webservice返回的數據。

測試這些情況的常用方法是什麼?

回答

0

我正在用蘋果的單元測試框架自己做這件事。我使用了一個單獨的類來進行不使用可達性的測試,但可以通過測試工具來模擬網絡向上或向下通知。您可能需要重構您的主代碼才能支持此操作。

編輯:如果你有一個類來處理Reachability現在你會創建一個新的類的相同的名稱,相同的方法/屬性,也許一些新的方法,允許外部代理告訴特殊的類「假裝「改變了一些東西。因此,您不是使用真正的可達性事件,而是您使用的電話號碼爲-(void) fakeNetworkStatus:(BOOL)nowUp。因此,測試工具中的代碼現在正在與假Reachability類進行交互(當然這不包括在單元測試中)。

EDIT2:對此有更多的想法。你可以有重複的實現文件,但Xcode並不真的支持多個接口文件。我最近做的是創建一個新的配置ReleaseForUnitTest,我在其中定義了「UNIT TESTING」。現在,我可以提供僅用於單元測試的代碼或方法原型塊。使用這個你可以有兩個實現文件和一個接口文件。

+0

很高興聽到您在您的應用中測試此功能。您是否能夠提供一些代碼來演示如何使用單獨的類來實現測試? –