2013-05-08 141 views
15

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

但是,PhantomJS将JavaScriptCore与JIT编译器一起用作其Javascript引擎。相反,我想使用Google Chrome中使用的V8引擎,或者IE中使用的Chakra。我想这样做,因为我想检查代码的平台兼容性。

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

回答

11

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

它并不是Phantom的一种真正的浏览器,所以有些东西你不能用Phantom做,但由于它使用Node.js,它显然确实使用了V8引擎,所以它符合你的标准。

但是,如果你真的想测试所有浏览器的各种引擎,当然你的其他选择是使用真正的浏览器。你不需要有一个可见的UI;使用像Selenium或Sahi这样的工具,它可以从脚本启动并运行浏览器,并让它在虚拟机中运行;你甚至不需要看它。它可能不会像使用幻影一样快,但是这将是一个真正的考验,这显然是你真正感兴趣的内容。

[编辑]
值得加入了一张字条给这个答案,因为我最近发现了约SlimerJS,这是一个开源项目,旨在生产使用Gecko引擎的PhantomJS兼容浏览器。再一次,这不是问题中所要求的,而是它的精神。拥有另一种工具可以使跨平台测试更加容易,这是非常好的。