摩卡是如何做没有幻影的DOMtesting
我似乎可以用Mocha做DOMtesting。
我以为我需要像PhantomJS这样的无头浏览器。
然后用Mocha来使用PhantomJS有什么好处? (我在使用Yeoman。)
你不需要一个无头浏览器来做Mocha的DOMtesting。 像jsdom这样的软件包提供了很多DOMtesting所需的function,而无需使用浏览器,无论是否使用。 例如,我们用它来testing遍历DOM树的代码 。
但是,Mocha本身不支持Node.js中的DOM。 还有其他的东西需要提供这种支持。 如果你在网上学习了一些教程,你最终可能会在没有意识到的情况下安装对DOM的支持。 例如,一个教程展示了如何在使用Mocha的Node.js中testingjQuery代码,它会告诉你做npm install jquery
,它也安装了jsdom。
如果其他解决scheme不提供您需要的function,您将不得不使用像PhantomJS的东西。 对于insta,jsdom不提供MutationObserver
接口。 (有一个名为MutationEvents
的configuration设置,但是打开它不提供MutationObserver
。)所以如果你需要testing依赖于MutationObserver
代码,你必须使用其他的东西,比如PhantomJS。