我需要我的角度應用程序的測試組件。問題是我想測試的東西,每次善緣的TestRunner顯示我的錯誤:在啓動時執行ajax請求的測試角度應用程序
Error: Unexpected request: GET /foo
No more request expected
一些研究,很明顯的是,測試框架阻止所有請求,我需要聲明通過在我的測試中把每一個請求之後:
beforeEach(inject(function ($httpBackend) {
$httpBackend.expectGET("/foo").respond("bar");
}));
所以我可以對請求做預期。
的問題是,它好像我不能初始化我的$ httpBackend,在這裏,像顯示後載入我的模塊/應用程序:
beforeEach(inject(function ($httpBackend) {
$httpBackend.expectGET("/foo").respond("bar");
}));
beforeEach(module('myApplication'));
它失敗
Error: Injector already created, can not register a module!
但加載我模塊/應用程序先配置$ httpBackend並在此之後爲時已晚:
beforeEach(module('myApplication'));
beforeEach(inject(function ($httpBackend) {
$httpBackend.expectGET("/foo").respond("bar");
}));
失敗s的
Error: Unexpected request: GET /foo
No more request expected
它失敗,因爲我需要讓我的應用程序配置myapp.config(function(...) {.. doSomeAjax ..}
任何想法如何解決這個問題的內部的Ajax請求?
發佈此問題很長時間,但想問問if – Nitesh
@Nitesh我創建了第二個模塊,名爲'myApplicationTests',它具有相同的依賴關係,但用靜態替換了'myapp.config'調用,我重構了所有其他的' .config「,」.run「,」.value「和」.constant「調用另一個模塊,所以我可以在myApplication和myApplicationTests中導入它們以保持乾燥。必須是更簡單的東西 – maklemenz