我已经创建了下面的模拟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
你正在使用什么测试跑步者? –