【问题标题】:Can I unit test the DOM?我可以对 DOM 进行单元测试吗?
【发布时间】:2010-09-22 17:06:16
【问题描述】:

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

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

弗兰克

【问题讨论】:

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


【解决方案1】:

你可以使用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 调用这些库。

【讨论】:

    【解决方案2】:

    jQuery 库附带了一个非常好的单元测试库,您可以使用它来测试 dom 操作。该库称为 QUnit。

    【讨论】:

      【解决方案3】:

      您可以使用YUI TestSelenium

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          在过去,我使用 jsUnit 完成此操作。

          【讨论】:

            【解决方案6】:

            将 capybara https://github.com/jnicklas/capybara 与支持 JS 的驱动程序一起使用,例如 capybara-webkit 或 poltergeist。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-09-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-08-25
              • 1970-01-01
              • 2011-07-09
              • 1970-01-01
              相关资源
              最近更新 更多