我目前正在将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,){...}
答案 0 :(得分:0)
真正的问题在这里找到。我无法看到整个背景,所以应该忽略这个问题。 Bower dependency found in unit test Angular 1.2, but cannot be found Angular 1.5