我似乎可以使用Mocha进行DOM测试。
我原以为我需要像PhantomJS那样的无头浏览器。
然后将PhantomJS与Mocha一起使用有什么好处? (我正在使用Yeoman。)
答案 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。