我个人过去对这两种方式都有过体验,最终选择了后者——Mocha。 当您使用大量异步代码(使用 JavaScript 进行开发时的常见用例)时,主要优势就体现出来了。 Jasmine 选择的语法是默认语法,如官方文档中所述。 这个非官方扩展增强了 Jasmine 异步功能,提供与 Mocha 相同的功能。 花几分钟时间来理解这个示例,并观察 Mocha 语法有多清晰。 与 Jasmine 不同,Mocha 仅提供行为测试结构(更多关于 BDD),而不提供断言/模拟框架。 但这并没有什么不好,因为它与 Chai 和 Sinon 等专用框架完美集成。 Sinon 附带了一整套函数,可以轻松模拟对象和存根方法。 建还记得那些“正在 例如,您可以通过以下方式评估是否已使用 Sinon 的间谍类型(取自出色的文档)调用了一个方法:Chai 的出色之处在 WhatsApp 号码数据 于它允许您以与自然语言非常相似的方式进行断言。 例如,请考虑以下示例,利用 should 断言语法: /被测函数 function Once(fn) { var returnValue, called = false; return function () { […]