20、Rails 测试全解析:从功能测试到集成测试

Rails 测试全解析:从功能测试到集成测试

1. 功能测试概述

单元测试主要用于检查数据验证和简单连接,但在典型的 Rails 应用程序中,还有更多复杂的操作。控制器是连接数据和用户的关键部分,支持许多复杂的交互,需要比验证或数据检查更复杂的测试。在 Rails 中,功能测试用于检查控制器应该执行的操作,这些测试定义在 tests/functional 目录下的文件中。

需要注意的是,Rails 独特的功能测试方式仅针对控制器进行测试。如果您有在其他环境中进行测试的经验,或者之后要迁移到其他环境,这可能会造成混淆。

与 Rails 生成的空单元测试不同,REST 脚手架生成的功能测试至少提供了一个有用的基本结构。以下是一个由 Rails 为课程控制器生成的几乎可用的功能测试集示例:

require 'test_helper'

class CoursesControllerTest < ActionController::TestCase
  def test_should_get_index
    get :index
    assert_response :success
    assert_not_nil assigns(:courses)
  end

  def test_should_get_new
    get :new
    assert_response :success
  end

  def test_should_create_course
    assert_difference('Course.count') do
      po
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值