17、控制器的功能测试指南

控制器的功能测试指南

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值