$scope.$apply 在 Mocha Sinon 中抛出 'Unexpected request: No more request expected'

$scope.$apply is throwing 'Unexpected request: No more request expected' in Mocha Sinon

我有服务 A 调用另一个服务 B,然后 B 注入了 $http 调用 API 网络服务。

现在,当我尝试使用 Mocha Sinon 存根服务 B 时,出现以下错误

Unexpected request: GET app/contract/forecast/il8n/en.json No more request expected

请注意,我没有在我的代码中的任何地方使用 httpBackend。

代码如下

var somePromise = B.getData(url,data);
somepromise.then(success, failed);

测试码是

it('Testing A.loadCustomerInformation', function() {
       var deferred = $q.defer();
       var promise = deferred.promise;
       sinon.stub(B,'getData').returns(promise);
       deferred.resolve({data : customerInformation});
       A.loadCustomerInformation(vm);
       rootScope.$apply();
       assert(B.getData.called);
       assert(A.someotherMtd1.called);
       assert(A.someotherMtd2.called);
});

基本上我想存根服务 B 函数 'getData' 和 return 模拟响应并检查根据模拟输入正确填充的 vm(视图模型)对象。

我有以下配置

Gulp, Karma, phantom js, Mocha, Sinon etc..

感谢帮助!

正如我在上面评论的那样,通过关注 Unit Testing with Translate 我从@Chasmo comments 得到的东西设置得很好.. 以下是我添加的代码

beforeEach(module('app', function ($provide, $translateProvider) { $provide.factory('testLoader', function ($q) { return function () { var deferred = $q.defer(); deferred.resolve({}); return deferred.promise; }; }); $translateProvider.useLoader('testLoader'); }));