我使用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
答案 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/
为每个调用添加前缀。但是,我更喜欢在所有项目依赖项中使用本地安装的实例。这可确保您使用项目所需的相同版本的依赖项。