2012-06-27 66 views
2

我對單元測試相對比較陌生,並且試圖找出一種以有意義的方式測試XHR請求的方法。QUnit和Sinon測試XHR請求

1)請求將各種腳本和其他資源拉到頁面上,我想確保正在加載正確數量的資源,並且請求成功。

2)我應該使用實際的請求來提供資源的服務嗎?我查看了sinonjs.org上的fakeserver和fakexhr請求,但我並沒有真正瞭解那些可以提供有意義的測試。

3)我正在測試現有的代碼,我認爲這些代碼毫無意義,但這正是我所要做的。這就是說,在某些方法中有很多代碼可能被分解成各種測試。我應該打破現有的代碼併爲我的解釋期望創建測試嗎?或者只是爲實際存在的東西寫測試?......如果這是有道理的。

感謝, -John

回答

3

我覺得有用使用興農fakeServer返回不同的測試反應,將行使我的客戶端功能。您可以設置一系列測試,在這些測試中,fakeServer響應會返回可用於隨後檢查代碼行爲的數據。例如,假設您期望返回10個資源對象,則可以創建預先封裝的xml或json來表示這些資源,然後檢查代碼是否正確處理了它們。在另一個測試中,當你只收到九個對象時,你的代碼做了什麼?

開始編寫測試以覆蓋您現有的代碼。當這些測試通過時,開始將您的代碼分解爲易於理解和有意義的單元。如果測試仍然通過,那麼很好,你只是重構你的代碼,而不是無意中破壞了任何東西。此外,現在你已經有了更小的代碼塊,可以更容易地測試和理解。從這一點上,你永遠不會回頭看:-)