在测试文件中设置$ httpBackend

时间:2013-12-19 12:04:26

标签: angularjs angularjs-e2e

在运行我的e2e测试时,我在bootstrap文件中设置这样的灯具:

var myApp = angular.module('myApp', [dependencies]);
var appTest = angular.module('appTest', ['myApp', 'ngMockE2E']);
appTest.run(function($httpBackend) {
  $httpBackend.whenGET('/api/products').respond(someResponseObject);
});

然后为每个我想测试的场景分隔文件。如何在场景文件中设置$ httpBackend和fixtures(因此,可能有不同的设置)而不是在单个引导程序文件中?它往往变得漫长而难以理解。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以在场景文件中为您的规范注入$ httpBackend,如下所示:

http = undefined 

beforeEach inject(function($httpBackend){
  http = $httpBackend
});

根据需要在场景文件中设置夹具,如下所示:

beforeEach(function() {
  http.whenGET('/api/products').respond(someResponseObject);
});