如果你曾经尝试正确测试涉及多个控制器动作的复杂场景,你将注意到 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 中。做好准备吧!