单元测试使用$translatePartialLoaderProvider的AngularJS应用程序

Unit testing an AngularJS app that uses $translatePartialLoaderProvider

本文关键字:AngularJS 应用程序 translatePartialLoaderProvider 单元测试      更新时间:2023-09-26

我正在使用Karma Jasmine为AngularJS web应用程序设计单元测试。该web应用程序使用角度翻译,特别是使用$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-如问题18876290中所述,使用角度平移进行测试,但单元测试仍因上述错误而失败。

此处提供了说明错误的代码示例(Plunker):http://embed.plnkr.co/8X7diP/.请注意,该应用程序运行良好:您可以切换视图,视图文本将按预期进行翻译。一旦在view1mod.js中删除$translatePartialLoaderProvider,应用程序就会通过测试。

非常感谢您的帮助!

这是因为,即使您的app.js具有translate依赖项,您的view1view2模块也没有,即这将修复规范-

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

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