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
超级会员免费看
订阅专栏 解锁全文
125

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



