我正在使用 Karma-Jasmine 为 AngularJS Web 应用程序设计单元测试。 该网络应用程序使用 angular-translate,特别是使用 $translatePartialLoaderProvider 模块。该应用程序本身运行良好;但是,单元测试失败并出现以下错误:
Error: [$injector:modulerr] Failed to instantiate module myApp.view1 due to:
[$injector:unpr] Unknown provider: $translatePartialLoaderProvider
我已遵循 http://angular-translate.github.io/docs/#/guide/22_unit-testing-with-angular-translate 上提供的 Angular 翻译单元测试说明。 ,如 Question #18876290 中所述,但单元测试仍然失败并出现上述错误。
此处提供了说明错误的代码示例 (Plunker): http://embed.plnkr.co/8X7diP/ 。请注意,该应用程序运行良好:您可以切换 View ,并且 View 文本会按预期翻译。一旦您在 view1mod.js 中删除 $translatePartialLoaderProvider,应用程序就会通过测试。
我们将非常感谢您的帮助!
最佳答案
这是因为,即使您的 app.js
具有 translate
依赖项,您的 view1
或 view2
模块不要,即这将修复规范 -
angular.module('myApp.view1', ['ngRoute', 'pascalprecht.translate'])
您必须在 view1mod.js
和 view2mod.js
中修复此问题。
关于javascript - 对使用 $translatePartialLoaderProvider 的 AngularJS 应用程序进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34383799/