加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何在模块配置中模拟provider / config以进行单元

发布时间:2020-12-17 18:08:02 所属栏目:安全 来源:网络整理
导读:我正在尝试使用Angular设置单元测试,并注入了模块级配置和运行方法. 例如,如果我有这样的模块定义: angular.module('foo',['ngRoute','angular-loading-bar','ui.bootstrap']).config(function ($routeProvider,$locationProvider,datepickerConfig,datepic
我正在尝试使用Angular设置单元测试,并注入了模块级配置和运行方法.

例如,如果我有这样的模块定义:

angular.module('foo',['ngRoute','angular-loading-bar','ui.bootstrap']).config(function ($routeProvider,$locationProvider,datepickerConfig,datepickerPopupConfig) {

Karma对我大喊大叫,因为我没有正确地使用以下方法嘲笑$routeProvider,datepickerConfig等:

Error: [$injector:modulerr] Failed to instantiate module foo due to:
Error: [$injector:unpr] Unknown provider: $routeProvider

(然后,如果我删除$routeProvider,那么它会显示Unknown provider:datepickerConfig等)

我在beforeEach中也有以下代码:

angular.mock.module('foo');
angular.mock.module('ngRoute');
angular.mock.module('ui.bootstrap');

以及我的karma.conf.js中的以下内容:

'components/angular/angular.js','components/angular/angular-mocks.js','components/angular/angular-route.js','components/angular-ui/ui-bootstrap-tpls.js','app/*.js',// app code
  'app/**/*.js','app/**/**/*.js','test/app/*.js',// app.js
  'test/specs/*.js',// angular.mock.module calls
  'test/**/*.js',// tests
  'test/**/**/*.js'

谢谢你的任何建议.

解决方法

确保将angular-route模块和所有依赖项包含到karma.conf.js的苍蝇数组中.这应该够了吧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读