ember.js - 如何在 Ember 单元测试中使用库?

标签 ember.js ember-cli

我正在尝试在 Ember 单元测试中使用库 ( chance.js ),但我似乎无法在测试中导入它。

到目前为止,我已经尝试使用 NPM (有和没有 ember-browserify ), Bower (尝试在 ember-cli-build.js 中尝试 app.import 调用。

无论我做什么,我似乎都无法访问chance函数/模块。

任何帮助将不胜感激。任何能向我指出一个在单元测试中使用 chance.js 的 Ember 项目的人都会获得最高分。

如果您的回答可能的话,简要说明哪种依赖管理是合适的将会非常有帮助。根据我的阅读,NPM 似乎可能是首选,因为 Ember 项目正在寻求摆脱 Bower,请参阅 here .

此外,如果有人知道任何有用的文章(最新的也更好),请随时在评论中提及。

谢谢!

编辑: 我相信我看到的一些问题与 Chance 使用“匿名”AMD 模块有关,而 Ember 的加载程序不支持该模块。我又玩了一会儿,但最终选择了ember-faker。插件,因为它是开箱即用的,感谢 John Otander .

我将这个问题留在这里,希望有人发布一个精彩的答案来澄清事情:)。

最佳答案

Ember CLI now supports Anonymous AMD modules 。在 ember-cli-build.js 文件中,将 app.import() 与 AMD 转换结合使用,为匿名模块指定如下名称:

app.import('bower_components/chance/dist/chance.min.js', {
  using: [
    { transformation: 'amd', as: 'chance' }
  ]
});

然后,您可以将其导入到您的应用程序中并进行如下测试:

import chance from 'chance';

关于ember.js - 如何在 Ember 单元测试中使用库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312528/

相关文章:

javascript - EmberJs 弃用组件生命周期钩子(Hook) didReceiveAttrs

javascript - Ember.js - 组件内部模型

ember.js - 如何在 Embers Handlebars {{input}} 助手上设置 "style"属性?

javascript - Ember : get data from input

javascript - 无法在 emberjs 的 View 中建模

google-maps - Ember-data:在 Controller / View 中使用模型

javascript - 组件 Ember 的设置 Controller

javascript - 如何测试在 ember-qunit 中调用 Ember.run.debounce 的函数?

ember-cli - 将ember-cli的端口号保存在配置文件中

javascript - 将 select2 插件与 Ember cli 一起使用