我已經創建了下面的模擬Angular服務來測試控制器。當我運行我的測試時,出現錯誤:Unexpected request: GET ./fixtures/stats.json
。如何從模擬角度服務中的JSON夾具中提取數據
mock.players.service.js:
'use strict';
angular.module('mockPlayersService', [])
.factory('playersService', ['$http', '$q',
function($http, $q) {
var playersService = {};
playersService.stats = $http.get('./fixtures/stats.json');
playersService.getStats = function() {
var defer = $q.defer();
defer.resolve(this.stats);
return angular.extend({$promise: defer.promise}, this.stats);
};
return playersService;
}]);
有什麼我需要在我的控制器的規格做告訴我的測試,預計這種GET
要求,和/或做我需要聲明fixtures
我的karma.config.js
files
數組中的路徑?
編輯:一些更多的信息,以顯示我的電流(工作)的設置:
playersService.stats = {
'firstName': 'John',
'middleName': 'James',
'lastName': 'Doe',
'city': 'Cleveland',
'state': 'OH',
};
playersService.getStats = function() {
var defer = $q.defer();
defer.resolve(this.stats);
return angular.extend({$promise: defer.promise}, this.stats);
};
我只是想移出,目前playersService.stats
對象成JSON夾具。
你正在寫一個模擬服務給姐姐你的實際嗎?我想他們大都是一樣的。您應該在我們的控制器中使用$ httpBackend,以及您的實際服務! –
我編寫了模擬服務,以便從JSON夾具中提取模擬數據。我絕對不想使用我的真實服務並拉取真實的數據。 – MattDionis
你正在使用什麼測試跑步者? –