使用jQuery-Chai测试元素

时间:2014-02-25 01:56:47

标签: unit-testing mocha chai testem

我有几个使用jQuery的函数。而且我很难理解在Mocha + Chai中用jQuery-Chai测试它们的正确方法。

我在jQuery-Chai插件中看到了断言列表。但是,我不明白我们在哪里获取DOM数据来运行这些断言?

理想情况下,我想插入一行html。在上面运行该功能。并使用jQuery-Chai断言进行验证。

有人可以帮忙清楚我将包含夹具来测试这些功能吗?

提前致谢。

使用:Testem with Mocha + Chai。

1 个答案:

答案 0 :(得分:0)

如您所述,chai-jquery仅提供可用于DOM元素的断言。您需要使用不同的库来实际填充DOM。既然你已经need jQuery included for chai-jquery to work,最简单的解决方案可能是使用jQuery的append()函数将子元素添加到DOM中,然后在测试结束时使用jQuery删除它们。 remove()功能。

或者,如果你想稍微抽象掉DOM操作,你可以尝试拉入一个灯具库。我最喜欢的是js-fixtures。如果你需要的话,你仍然可以使用set()函数轻松插入一行html:

fixtures.set('<div>Your html here</div>');

如果您的测试html变得更复杂,您可以将其提取到示例html文件中,并使用load()函数将其全部加载到DOM中:

fixtures.load('yourTestPage.html');

最后,当您的测试完成后,您可以使用fixtures.cleanUp()轻松清洁灯具。