Angular-mocks $ injector不返回服务,没有$ get方法

时间:2014-11-27 20:26:51

标签: angularjs unit-testing angular-services angular-mock

我正在尝试使用Karma和Mocha在bdd做到最好。我已经创建了一个服务的shell来试图让事情顺利进行(从TypeScript生成) enter image description here

我创建了以下测试

enter image description here

我在注入器获取服务的行上设置了一个断点,当它断开时,调试器告诉我scheduleService存在于注入器

enter image description here

但是当我执行$ injector.get方法时,它失败并出现此错误

enter image description here

这次我做错了什么?

2 个答案:

答案 0 :(得分:0)

您正在使用工厂。工厂需要返回一个对象。您的工厂正在返回一个功能,因此您看到的错误。您可能需要使用服务。工厂和服务之间的细微差别是工厂返回提供的对象,而服务返回用new调用的对象来创建实例。

angular.module('tsid.scada').service('scheduleService', tsid.scada.scheduleService);

答案 1 :(得分:0)

问题出在我送到工厂的地方。我将工厂方法参数更改为

enter image description here

现在我的测试正在进行中。