[英]Jasmine unit tests fail after adding angulartics with the angulartics-piwik
PhantomJS 2.1.1 (Windows 7 0.0.0)e Service should get by id from Service FAILED
Error: Unexpected request: GET /users/currentuser
No more request expected in /static/third-party/angularjs/1.4.7/js/angular-mocks.js (line 1245)
這是我收到的關於我的服務的錯誤消息。 在添加 angulartics 之前,我不會收到這些消息
有沒有辦法確保這些錯誤不會發生
我的測試代碼:
beforeEach(function() {
module('appHost');
module('angulartics');
inject(function($httpBackend, _Service_) {
Service= _Service_;
httpBackend = $httpBackend;
});
});
afterEach(function() {
httpBackend.verifyNoOutstandingExpectation();
httpBackend.verifyNoOutstandingRequest();
});
it('should get template by id from Service', function() {
var expected = {
"name": "my name",
"description": "bla bla bla bla",
};
var id = "12345";
httpBackend.expectGET("/data/"+id).respond(expected);
});
我也經歷過類似的事情。 我的修復只是添加這一行
httpBackend.whenGET(/users/currentuser/).respond(200, '');
在每個塊之前。 然后我遇到了另一個錯誤,因為 angular 試圖獲取它自己的模板。 我通過更改 karma 預處理器配置以去除有問題的前綴來解決這個問題。 如果您需要更多幫助,請告訴我。
嘗試添加httpBackend.flush()
it('should get template by id from Service', function() {
var expected = {
"name": "my name",
"description": "bla bla bla bla",
};
var id = "12345";
httpBackend.expectGET("/data/"+id).respond(expected);
httpBackend.flush()
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.