AngularJS升级1.2到1.5

时间:2016-05-10 13:21:04

标签: angularjs unit-testing service dependency-injection migration

我目前正在将Angular 1.2.x应用程序升级到1.5.5。升级后,应用程序本身仍然正常工作。不幸的是,我的服务测试失败了(例如)errormessage:

  

错误:[$ injector:unpr]未知提供者:storeProvider< - store< - secondService

据我所知,之前的错误消息告诉我,在测试范围内,没有“第二服务”。可用。我认为那是

让我们说'firstService'必须被嘲笑。第二项服务非常简单,不需要嘲笑它。

describe('mainService', function () {
  [...]
  beforeEach(module('app.myApp', function($provide) {
    $provide.value('$state', stateMock);
    $provide.value('firstService', firstServiceMock);
    //following line is needed in Angular 1.3 and greater,
    //if i am running it on angular 1.2 without the line it is working
    $provide.value('secondService', secondServiceMock); }));

beforeEach(inject(function ($injector) {
mainService = $injector.get('mainService');

我如何注入原始的' secondService'进入我的单元测试,因为我不想模拟这项服务测试所依赖的每项服务。

如果我错了,请纠正我,因为我知道这是一个范围https://docs.angularjs.org/guide/migration#migrating-from-1-2-to-1-3的问题。但这看起来更像是与控制器有关而不是与服务有关。

如果是,那我该怎么注射呢?我也无法找到一种方法来使用已弃用的" $ controllerProvider.allowGlobals();'在testcontext中。 班级:

(function () {
'use strict';
angular.module('app.myApp').factory('mainService', mainService);

/* ngInject */
function mainService($state, firstService, secondService,){...}

1 个答案:

答案 0 :(得分:0)

真正的问题在这里找到。我无法看到整个背景,所以应该忽略这个问题。 Bower dependency found in unit test Angular 1.2, but cannot be found Angular 1.5