我可以对DOM进行单元测试吗?

时间:2008-11-17 17:21:23

标签: javascript ruby-on-rails unit-testing dom

我们有一个Ruby on Rails应用程序,它在视图中使用了一些javascript。由于我们对应用程序的其余部分有良好的测试覆盖率,因此我们希望在此处继续。我们使用的js操纵DOM来显示/隐藏div并执行从表中选择的组合框的增量搜索。

有没有人知道测试DOM操作的方法?

6 个答案:

答案 0 :(得分:3)

您可以使用java库HttpUnit或HtmlUnit,它们可以在JS操作后测试完成的DOM。

http://htmlunit.sourceforge.net/javascript-howto.html http://httpunit.sourceforge.net/doc/cookbook.html

两者都使用功能齐全的JavaScript引擎Mozilla Rhino,然后添加自己的DOM实现。

这将允许您在后台自动运行这些测试,而不会产生任何浏览器或副作用。

奖励:您可以使用JRuby直接从Ruby调用这些库。

答案 1 :(得分:2)

jQuery库附带了一个非常好的单元测试库,可用于测试dom操作。该库名为QUnit。

答案 2 :(得分:1)

您可以使用YUI TestSelenium

答案 3 :(得分:0)

过去我用jsUnit完成了这项工作。

答案 4 :(得分:0)

我只是answered a similar question。简而言之:看看Dojo's DOHdoh.robotdijit.robotx(DOH不需要使用Dojo,它不依赖于Dojo)。

答案 5 :(得分:0)

将capybara https://github.com/jnicklas/capybara与启用JS的驱动程序(如capybara-webkit或poltergeist)一起使用。