我有一个简单的控制器,我需要它做的第一件事是为范围分配一个值.
function TestCtrl($scope, $http) {
$scope.listForms = 'some list';
}
Run Code Online (Sandbox Code Playgroud)
控制器的以下测试按预期工作:
describe('Testing a controller', function() {
var ctrl, scope, httpMock;
beforeEach(inject(function($injector) {
scope = $injector.get('$rootScope').$new();
ctrl = $injector.get('$controller');
ctrl(TestCtrl, { $scope: scope });
}));
it("assigns to scope", function() {
expect(scope.listForms).toMatch("some list");
});
});
Run Code Online (Sandbox Code Playgroud)
但是当我更改函数以从我的API获取列表时
function TestCtrl($scope, $http) {
$http.get('/api/listForms').success(function(list) {
$scope.aListOfForms = 'some list';
});
}
Run Code Online (Sandbox Code Playgroud)
并且测试变为
describe('Testing a controller', function() {
var ctrl, scope, httpMock;
beforeEach(inject(function($injector) {
httpMock = $injector.get('$httpBackend');
scope = $injector.get('$rootScope').$new();
httpMock.when('GET', '/tactical/api/listOrderForms').respond("an order form");
ctrl = …Run Code Online (Sandbox Code Playgroud)