小编Joe*_*rew的帖子

是否可以在测试中覆盖模块配置函数的常量?

我花了很长时间来试图覆盖提供给模块配置函数的注入常量.我的代码看起来像

common.constant('I18n', <provided by server, comes up as undefined in tests>);
common.config(['I18n', function(I18n) {
  console.log("common I18n " + I18n)
}]);
Run Code Online (Sandbox Code Playgroud)

我们通常的方法是保证I18n在我们的单元测试中被注入了

module(function($provide) {
  $provide.constant('I18n', <mocks>);
});
Run Code Online (Sandbox Code Playgroud)

这适用于我的控制器,但似乎配置功能不会查看$provide模块外部的内容.它不是获取模拟值,而是将早期值定义为模块的一部分.(在我们的测试中未定义;在下面的plunker中,'foo'.)

下面是一个工作的plunker(看看控制台); 有谁知道我做错了什么?

http://plnkr.co/edit/utCuGmdRnFRUBKGqk2sD

angularjs angularjs-module

21
推荐指数
2
解决办法
2万
查看次数

标签 统计

angularjs ×1

angularjs-module ×1