摩卡'每个挂钩'消息之前红色。 我怎么知道具体是什么错误?

在失败的testing之前,我有以下消息:

1) "before each" hook 

这是整个信息 。 这是红色的,这让我觉得在每个钩子之前有什么问题,但我不确定错误是什么。 它可能是:

  • 超时失败
  • 一个失败的断言
  • 抛出错误

我怎么知道错误是什么?

beforeEach()通常执行得非常好。

我碰到这个问题时,在beforeEach我不小心调用了done()两次(我在beforeEach的末尾调用过一次,还通过beforeEach中调用的asynchronous函数调用它)。

当我在手表模式下运行testing时,我收到了您描述的错误信息,没有任何附加信息。 当我正常运行testing时,我没有得到任何错误。 我在一张相关的票上报了这个。

我怎么知道错误是什么?

debugging它就像你正常的代码。 如果您在beforeEachcallback中进行断言,则会滥用该框架。 断言属于itcallback,所以重构。

这也可能不仅仅是忘记done因为当发生这种情况时,摩卡有一个明确的错误信息。

因此,你的代码可能会抛出一个未捕获的exception,你可以使用你最喜欢的debugging风格来追踪它。 我喜欢使用--debug-brk运行mocha并使用node-inspector进行debugging ,但是一些console.log语句也应该足够。 注意仅将相关testing文件传递给mocha,并使用describe.onlyit.only技术可以使您的testing套件保持小而专注,同时it.only根本原因。