目前,我正在使用 PhantomJS 在我们的构建服务器上的 QUnit 和 Sinon 框架中运行 Javascript 单元测试。
但是,PhantomJS 使用带有 JIT 编译器的 JavaScriptCore 作为其 Javascript 引擎。相反,我想使用 Google Chrome 中使用的 V8 引擎,或者 IE 中使用的 Chakra。我想这样做是因为我想检查代码的平台兼容性。
有没有像 PhantomJS 这样使用这些引擎的流行测试运行程序?
目前,我正在使用 PhantomJS 在我们的构建服务器上的 QUnit 和 Sinon 框架中运行 Javascript 单元测试。
但是,PhantomJS 使用带有 JIT 编译器的 JavaScriptCore 作为其 Javascript 引擎。相反,我想使用 Google Chrome 中使用的 V8 引擎,或者 IE 中使用的 Chakra。我想这样做是因为我想检查代码的平台兼容性。
有没有像 PhantomJS 这样使用这些引擎的流行测试运行程序?
我能想到的最接近的是Zombie.js,它是一个用 JavaScript 编写的在 Node.js 下运行的无头浏览器。
它不像 Phantom 那样是真正的浏览器,所以有些事情你用它做不到,但你可以用 Phantom 做,但由于它使用 Node.js,它显然确实使用了 V8 引擎,所以它符合您的标准。
但是,如果您真的想在所有浏览器的各种引擎中进行测试,您的另一个选择当然是使用真正的浏览器。你不必有一个可见的用户界面;使用像 Selenium 或 Sahi 这样的工具,它可以从脚本启动和运行浏览器,并让它在 VM 中运行;你甚至不需要看它。它可能不如使用 Phantom 快,但它会是一个真正的测试,这显然是你真正感兴趣的。
[编辑]
值得在这个答案中添加注释,因为我最近发现了SlimerJS,这是一个开源项目,旨在生成使用 Gecko 引擎的 PhantomJS 兼容浏览器。同样,这并不完全是问题中所要求的,但它是本着它的精神;很高兴有另一个工具可以使跨平台测试更容易。