摩卡:异步vs同步

时间:2014-05-05 20:39:59

标签: mocha

根据Mocha文档,“Mocha测试连续运行”,这意味着按照它们的定义顺序。

我的问题是:是什么让异步(完成回调)测试与同步不同?

1 个答案:

答案 0 :(得分:8)

通过向it调用带有参数的函数(传统上称为done),告诉Mocha一个测试是异步的。然后Mocha将使用第一个参数调用此函数,该参数是一个回调函数,您必须调用它来告诉Mocha测试结束。

异步测试和同步测试之间的唯一区别是,对于异步测试,Mocha将等待done回调被调用,然后再进行下一次测试。如果测试被认为是同步的,那么当您传递给it的函数返回时,Mocha将继续进行下一个测试。如果Mocha使用异步测试来执行此操作那么它将无法将未处理的异常与相应的测试相关联。