按照承诺在Ember应用程序中添加chai

Adding chai-as-promised to an Ember app

本文关键字:添加 chai 应用程序 Ember 承诺      更新时间:2024-03-08

我发现自己在一个基于Ember的应用程序中,在理解如何将chai作为承诺的助手库添加到其中时遇到了一些困难。我正在运行以下版本:

$ ember --version
version: 2.4.2
node: 5.8.0
os: darwin x64

我通过npm i chai-as-promised --save-dev开始安装。然后可以通过Node导入库。然后,我尝试使用两种不同的方法将其添加到ember-cli-build.js文件中:

作为通过.import()的文件,在创建EmberApp:之后

  module.exports = function(defaults) {
    var app = new EmberApp([...]);
    app.import('./node_modules/chai-as-promised/lib/chai-as-promised.js');

通过EmberApp.toTree()chai-as-promised的顶级目录:

return app.toTree('./node_modules/ember-cli-blueprint-test-helpers/');

并下降到chai-as-promised:的lib/子目录

return app.toTree('./node_modules/chai-as-promised/lib');

我还尝试通过Bower进行安装,并将上述基于node_modules/的路径更改为基于bower_components的路径,但结果仍然相同。

我输入错了吗?或者还有其他地方我应该进口?

您需要告诉ember-cli将其添加到测试树中,如下所示:

app.import("bower_components/chai-as-promised/lib/chai-as-promised.js",
           { type: 'test' });

否则,它在测试套件中不可用,而是在应用程序中可用。我将其与ember-cli-mocha结合使用。

你可以在这里看到它的工作原理:https://github.com/albertjan/ember-cli-chai-as-promised