2

我的公司已经为我们的应用程序建立了一个很棒的大型(472 和不断增长的)Mocha 测试套件,它非常有用……在 Chrome 和 Firefox 中。

然而,在 IE 中,测试在 30 次左右的测试后出现故障,并出现“错误:堆栈空间不足”。所以,我的问题是......好吧,我真的有两个问题,主要的和备用的:

1)有没有办法让IE运行整个套件,也许通过在某处调整一些配置选项来给它更多内存?我知道 IE 通常不擅长这种事情,但如果 Firefox 和 Chrome 可以做到,我必须希望有一些方法可以让 IE 也能做到......

2)如果失败了,摩卡有没有一个好办法说“运行测试 1-25,现在运行测试 26-50,等等”,或者我只需要使用 grep 选项来尝试限制测试的数量跑?

4

1 回答 1

3

我想我应该在来这里之前多花点时间在谷歌上搜索一下。我最终找到了这张票:

https://github.com/visionmedia/mocha/issues/502

这解释了:

  1. 这基本上是 Mocha 中的错误:他们正在使用某种机制来清除堆栈,但该机制在 IE 中不起作用,因此他们需要切换到其他机制(截至 4 月 25 日还没有/2013)。

  2. 一个(非常脏/hacky,但功能强大)的解决方法是beforeEach在测试套件的根级别添加以下内容(以便它适用于所有测试):

    beforeEach(function(done){ window.setTimeout(done, 0); });

于 2013-04-25T17:54:35.320 回答