使用Nodejs中的Jasmine 1.3测试是否解决了承诺

时间:2016-09-21 17:06:37

标签: javascript node.js jasmine promise jasmine-node

我使用npm库jasmine-node对我的javascript代码进行单元测试。据我了解,它使用Jasmine 1.3。

我的大多数代码都涉及异步Promises(使用ES6内置promise,而不是第三方Promise库之一)。我已经读过Jasmine 2有一个名为done()的方法,你可以通过对你的诺言的“then”或“catch”调用来调用。我在Jasmine 1.3中可以做些什么?有没有办法模拟这个?或者有更好的方法或茉莉花节点的不同分支?

看到这个问题: Test if a promise is resolved or rejected with Jasmine in Nodejs

1 个答案:

答案 0 :(得分:1)

您应该避免使用jasmine-node模块。它已不再维护(最近的提交是两年多以前,PR正在堆积)。相反,你应该使用jasmine-core,官方捆绑茉莉。

老实说,这些套餐的捆绑不太清楚。您实际上想要安装jasmine包。这为您提供了命令行工具,可帮助您配置项目以与jasmine一起使用,并为您提供运行规范的命令。例如(来自文档):

本地安装:

npm install --save-dev jasmine

初始化Jasmine的项目

./node_modules/.bin/jasmine init

使用一些示例为您的项目设定种子

./node_modules/.bin/jasmine examples

运行测试套件

./node_modules/.bin/jasmine

您还可以选择全局安装jasmine:

npm install -g jasmine

这样,您可以避免使用./node_modules/.bin/为每个调用添加前缀。但是,我更喜欢在所有项目依赖项中使用本地安装的实例。这可确保您使用项目所需的相同版本的依赖项。