摩卡是如何做没有幻影的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。