javascript - 对使用 $translatePartialLoaderProvider 的 AngularJS 应用程序进行单元测试

标签 javascript angularjs unit-testing angular-translate

我正在使用 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 依赖项,您的 view1view2 模块不要,即这将修复规范 -

angular.module('myApp.view1', ['ngRoute', 'pascalprecht.translate'])

您必须在 view1mod.jsview2mod.js 中修复此问题。

关于javascript - 对使用 $translatePartialLoaderProvider 的 AngularJS 应用程序进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34383799/

相关文章:

javascript - 在canvas html5上制作不同的图形

javascript - Angular - 基于模型创建指令

javascript - 何时在 AngularJS 中使用 Worker 和 Factory 函数

c# - 带有单元测试的 C# IDE(如 Eclipse for Java 和 assertEquals( ... ) 等)

unit-testing - XUnit 和 AutoFixture Exception No Data found for (test name)

java - Swing UI 的单元测试框架

javascript - UI5 中的 const 和 let 声明

javascript - React Native 数据不会在第一次点击时推送到 firebase

javascript - javascript 中 isNaN 和 Number.isNaN 的混淆

javascript - ng-bind 用作文本区域的指令,但不用作输入标签