2014-07-09 64 views
0

我的目标是通过预先设置的AngularJS嘲笑服务(jasmine)响应将数据加载到html。 data.json也存在,所以如果模拟响应不起作用,显示的单词将是“http”而不是“mock”。但反应结果总是“http”,这意味着模拟服务并不真正起作用。 非常感谢关于这个问题的任何想法。预期响应在AngularJS单元测试(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" } 

回答

0

您是否尝试过使用 “whenGET”,而不是“expectGET “?

相关问题