使用V8进行Javascript单元测试

时间:2013-05-08 09:38:34

标签: javascript phantomjs qunit sinon

目前,我正在使用PhantomJS在我们的构建服务器上的QUnit和Sinon框架中运行Javascript单元测试。

但是,PhantomJS使用JavaScriptCore和JIT编译器作为其Javascript引擎。相反,我想使用在谷歌浏览器中使用的V8引擎,或在IE中使用的Chakra。我想这样做是因为我想检查代码的平台兼容性。

是否有像PhantomJS这样的流行测试跑步者使用这些引擎?

1 个答案:

答案 0 :(得分:11)

我能想到的最接近的是Zombie.js,这是一个用Javascript编写的无头浏览器,在Node.js下运行。

它不像Phantom那样是一款真正的浏览器,所以你可以用Phantom做一些你无法做到的事情,但是因为它使用了Node.js,它显然确实使用了V8引擎,所以它符合你的标准。

但是如果你真的想在所有浏览器的各种引擎中进行测试,那么你的另一个选择当然是使用真正的浏览器。您不必拥有可见的UI;使用像Selenium或Sahi这样的工具,它可以从脚本启动和运行浏览器,并让它在VM中运行;你甚至不需要看它。它可能没有使用Phantom那么快,但它将是一个真正的测试,这显然是你真正感兴趣的。

<强> [编辑]
值得为这个答案添加一个注释,因为我最近发现了SlimerJS,这是一个开源项目,旨在生成一个使用Gecko引擎的兼容PhantomJS的浏览器。同样,这不是问题所要求的,但它本着它的精神;很高兴有另一种工具可以使跨平台测试变得更容易。