我正在爲我們的應用程序編寫一些測試,並且我已經包含了angularjs-mocks.js,因此我可以使用它附帶的很好的dsl函數。使用angularjs mocks而不實際嘲弄任何東西
但我不想真正模擬$ http請求,因爲我將這個應用程序與客戶端的後端集成在一個不斷變化的環境中,我想測試真實的響應。
在這種情況下,使用真實http後端的最好方法是什麼?
編輯:
我已經找到了一個潛在的解決方案,這是使用:
$httpBackend.whenPOST(/.*/).passThrough()
但正如我提到的下方,它不工作,可能壞了?我得到這個錯誤:
Error: Unexpected request: POST /some/url/here No more request expected
我這裏開一個問題:https://github.com/angular/angular.js/issues/1434
你總是可以創建一個模擬$ http注入通過創建一個簡單的JavaScript,做XHR http請求,沒有角度嘲笑必要的。在JavaScript中測試是一件好事,因爲動態類型的原因,你可以將對象打成一團,然後注入它們。 –
沒錯,但問題是angularmocks覆蓋$ httpBackend,$ http使用。我現在試圖用$ httpBackend.whenGET(/.*/)。passThrough()來解決它,但是看起來好像是壞了,或者我沒有正確使用它。 – doubledriscoll
我猜我在暗示的是你可以使用vanilla js來創建一個包含你需要的所有方法的對象。不需要角模擬。 –