2006 年 3 月 1 日星期三

Rails 1.1 的新增功能:集成测试

发布者 rick

如果你曾经尝试正确测试涉及多个控制器动作的复杂场景,你将注意到 Rails 功能测试是彻底失败的。这正是刚刚引入 Rails 主干的新集成测试要解决的问题。摘自文档

一个集成测试跨越多个控制器和操作,将它们全部连接在一起,以确保它们按预期一起工作。它比单元或功能测试测试得更全面,能够对从分发器到数据库的整个堆栈进行测试。

提供的 示例 还展示了在 Campfire 中使用的测试 DSL 的一瞥

class AdvancedTest < ActionController::IntegrationTest
  fixtures :people, :rooms

  def test_login_and_speak
    jamis, david = login(:jamis), login(:david)
    room = rooms(:office)

    jamis.enter(room)
    jamis.speak(room, "anybody home?")

    david.enter(room)
    david.speak(room, "hello!")
  end
end

集成测试将包含在 Rails 1.1 中。做好准备吧!