Mocha如何在没有幻影的情况下进行DOM测试

时间:2014-01-09 11:44:52

标签: node.js tdd phantomjs mocha

我似乎可以使用Mocha进行DOM测试。

我原以为我需要像PhantomJS那样的无头浏览器。

然后将PhantomJS与Mocha一起使用有什么好处? (我正在使用Yeoman。)

1 个答案:

答案 0 :(得分:5)

您不需要无头浏览器来使用Mocha进行DOM测试。像jsdom这样的软件包提供了大量的DOM测试所需,无需使用浏览器,无论是否无头。例如,我们将它用于遍历DOM树的testing code

但是,Mocha本身不支持Node.js中的DOM。还有其他东西必须提供这种支持。如果你在网上关注一些教程,你最终可能会在没有意识到的情况下安装对DOM的支持。例如,一个教程如何使用Mocha在Node.js中测试jQuery代码将告诉你做npm install jquery,它也会安装jsdom。

如果其他解决方案无法提供您需要的功能,您必须使用PhantomJS之类的东西。对于instace,jsdom不提供MutationObserver接口。 (有一个名为MutationEvents的配置设置,但打开它不提供MutationObserver。)因此,如果您需要测试依赖MutationObserver的代码,则必须使用其他内容,例如PhantomJS。