【发布时间】:2019-12-23 18:09:34
【问题描述】:
我正在使用 Mocha/Sinon/Chai 了解 JavaScript 中的单元测试。我已经看到使用的函数done()。但我似乎找不到此功能的文档。它似乎不是 JavaScript 语言的一部分。如果是这样,我希望在 [something].prototype.done() 下的 Mozilla 文档中看到它。但它不存在。我没有在 jQuery 的文档中看到它,也没有在 Mocha 的文档中看到它。
On another thread,我看到done()这个例子:
it('should have data.', function () {
db.put(collection, key, json_payload)
.then(function (result) {
result.should.exist;
done();
})
.fail(function (err) {
err.should.not.exist;
done();
})
})
什么是done(),它属于什么语言或工具,它的文档在哪里? done() 只是回调函数的命名约定吗?
【问题讨论】:
-
看起来不对。是的,这是回调函数的命名约定……但缺少回调参数。
function (done) {? -
啊 - 我想我现在明白了。这是一个重复的问题然后 - stackoverflow.com/questions/28656780/… - 谢谢!
-
并非如此。两人除了同名外,没有任何关系。例如,jQuery 在 jqXHR 上也有一个
done方法。在您的情况下,因为您使用的是mocha,所以它与this 有关。继续阅读db.put使用的 Promise 用例。
标签: javascript unit-testing mocha.js sinon