0

我正在尝试使用 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();
});
4

1 回答 1

0

解决方法是添加 $httpBackend.whenGET(/^/locales//).passThrough(); 看上面。

于 2015-10-21T22:01:10.200 回答