我正在尝试使用 ngMock 模拟请求/响应并收到此错误:Unexpected request: GET /locales/en_us.json
. 在四处挖掘之后,我发现了这篇关于如何绕过错误的帖子。添加$translateProvider.preferredLanguage('en_us')
修复了错误,但模板没有呈现,即我只看到一个空白页。在运行方法中,我有以下内容:
$httpBackend.whenGET(env.baseUri + '/1.0/test-data').respond(function(method, url, data){
return [200, [
{
"id": 1,
"name": "test name",7,
"version": "1.0"
}
]]
在配置方法中:
$translateProvider.preferredLanguage('en_us');
编辑我通过为“语言环境”添加一个 passThrough 来修复这个错误:
myAppDev = angular.module('myAppDev', ['myApp', 'ngMockE2E']);
myAppDev.run(function($httpBackend) {
phones = [{name: 'phone1'}, {name: 'phone2'}];
// adds a new phone to the phones array
$httpBackend.whenPOST('/phones').respond(function(method, url, data) {
var phone = angular.fromJson(data);
phones.push(phone);
return [200, phone, {}];
});
$httpBackend.whenGET(/^\/locales\//).passThrough();
});