15

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

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

有没有像 PhantomJS 这样使用这些引擎的流行测试运行程序?

4

1 回答 1

12

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

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

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

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

于 2013-05-08T11:26:27.140 回答