我正在尝试进行一些后端 e2e 测试,所以我需要模拟 API 调用。这是我所做的:
angular.module('foo.bar.e2eConf', ['foo.bar', 'ngMockE2E']).
run(function($httpBackend) {
$httpBackend.whenGET('/foo/bar').respond({foo:'bar'});
});
然后我conf/karma.e2e.conf
像这样配置我的(路径没问题):
var basePath = '../';
var files = [
ANGULAR_SCENARIO,
ANGULAR_SCENARIO_ADAPTER,
// bower libs
'components/angular/index.js',
'components/jquery/jquery.js',
'components/angular-resource/index.js',
'components/angular-mocks/index.js',
'components/chai/chai.js',
'test/chai.conf.js',
'src/app/**/*.js',
{pattern:'src/app/**/partials/*.tpl.html', included:false},
'test/e2e/**/*.js'
];
var singleRun = false;
var browsers = ['Chrome'];
var proxies = {'/': 'http://localhost:8000/'};
我可以运行不涉及 API 调用的测试,但是当我运行涉及它的测试时,我得到了一个不错的结果Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:9876/foo/bar
我想我错误配置了一些东西,但我不知道是什么?
代理和模拟之间是否存在冲突?即代理/foo/bar
而http://localhost:8000/foo/bar
不是使用模拟?
任何想法?
问候
泽维尔