控制器的功能测试指南
1. 控制器功能测试概述
控制器在应用程序中起着关键作用,它接收用户的 Web 请求,与模型交互以获取应用程序状态,然后通过合适的视图向用户展示内容。进行控制器测试时,我们要确保给定的请求能得到恰当的响应。虽然测试控制器仍需要模型,但模型的测试已通过单元测试完成。
Rails 将对单个控制器的测试称为功能测试。以 Depot 应用程序为例,它有四个控制器,每个控制器都有多个动作,有很多方面值得测试,我们从用户登录开始。
1.1 管理员控制器测试准备
为了确保 Depot 应用程序的管理功能不被随意访问,需要对管理员控制器进行测试。由于 AdminController 是通过生成控制器脚本创建的,Rails 在 test/functional 目录下为我们准备了测试存根:
require 'test_helper'
class AdminControllerTest < ActionController::TestCase
# Replace this with your real tests.
test "the truth" do
assert true
end
end
功能测试的关键在于 ActionController::TestCase 超类,它初始化了每个功能测试所需的三个实例变量:
- @controller :包含正在测试的控制器实例。
- @request
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



