【发布时间】:2014-07-09 14:35:07
【问题描述】:
我的目标是通过 AngularJS 模拟服务(茉莉花)的预设响应将数据加载到 html。 data.json 也在那里,因此如果模拟响应不起作用,则显示的单词将是“http”而不是“mock”。但是响应结果总是“http”,这意味着模拟服务并没有真正起作用。 非常感谢您对此问题的任何想法。
Jasmine javascript 文件:
describe("DController", function() {
var httpBackend,scope;
beforeEach(module('MyApp'));
beforeEach(inject(function($rootScope,$httpBackend,$http,$controller) {
scope = $rootScope.$new();
httpBackend = $httpBackend;
DController = $controller('DController', {
$scope: scope
});
httpBackend.expectGET('data.json').respond({
"name": "mock"
});
})); })
controller.js 文件
.controller('DController',function($scope,$http) {'use strict';
$scope.loadJson = function() {
var getDataJson = $http.get('data.json');
getDataJson.success(function(data, status, headers, config) {
$scope.data = data;
});
}})
data.json 就是简单的
{ "name": "http" }
【问题讨论】:
标签: javascript angularjs unit-testing getjson