26
2013
06

Chutzpah运行前端单元测试超时的解决方案

Chutzpah作为运行前端单元测试的工具很强大,在实践中还是有一些小问题,当然这是对他不熟悉导致的。这不我们就遇到一个问题,还花了不少时间解决它。

我们的前端单元测试越来越多的时候,Chutzpah运行单元测试的压力就会越来越大,特别是在有操作DOM的情况,或则原JavaScript效率不高的情况,或则在用到RequireJS异步调用多的情况,等一系列影响加载测试速度的问题都可能造成Chutzpah运行单元测试的时间增长。这时候使用原来设置的话会出现一个错误:JS Error: Timeout occured when executing test file。看他的图像表现:


VS2012中运行的错误

1.png

命令行中的错误。

4.png

总的来说这是一个简单的问题,超时了。先看处理解决方法,再看原理。

VS2012中的解决办法,就是在Chutzpah设置中将timeout时间改大,而命令行中就是加一个 /timeoutMilliseconds 50000的参数。如下图。

2.png

3.png

问题解决很简单,但真正找这个问题却花了不少时间,知道超时,然后找到了Chutzpah的源文件,才明白。Chutzpah使用PhantomJS,而这个超时是从PhantomJS通讯过程的超时,其实作者都想到了,你可以做这个配置,之所以花费时间还是对这个工具不熟,还看源代码,汗颜了。看看我们的命令:chutzpah.console.exe /? 就可以得到所有命令,我们的问题Chutzpah的错误JS Error: Timeout occured when executing test file得到解决。

最后Chutzpah的命令一览

5.png



« 上一篇下一篇 »

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。