SuperAPI AI 工具集

rspec-testing

测试与质量

查看项目

更新于 10-19 19:24

技能介绍

RSpec Testing for Rails 是一个面向 Ruby on Rails 应用的测试编写技能,用于在编写、审查或改进 RSpec 测试时提供系统化指导。它整合了 Better Specs 和 thoughtbot 的测试指南,目标是产出全面、可维护且高质量的测试覆盖。

用途 该技能适用于所有 Rails 测试任务,包括模型、控制器、系统、组件、服务与集成测试的编写和评审。它强调测试驱动开发(TDD)的 Red-Green-Refactor 循环,并推荐使用 Arrange-Act-Assert 结构组织测试,每个单元测试只验证一个行为,集成测试可在完整流程中接受多个断言。

主要能力 技能提供测试类型决策树,帮助判断何时使用模型测试(验证、关联、作用域、实例方法、类方法、枚举、数据库约束)、控制器测试(授权、路由与参数处理、响应状态码、实例变量、Flash 消息、重定向)、系统测试(端到端用户流程、多步骤交互、JavaScript 功能、表单提交、导航流程)、组件测试(ViewComponent 渲染、变体、插槽、条件渲染、组件属性)以及服务/集成测试(复杂业务逻辑、多步骤工作流、外部 API 集成、后台任务、数据转换)。

它还包含 RSpec 语法与风格指南:describe 使用 Ruby 文档约定(.method_name 表示类方法,#method_name 表示实例方法),context 以 when、with 或 without 开头,it 描述保持简洁并使用第三人称现在时,避免使用 should;期望统一使用 expect 语法,可用 is_expected 编写单行测试。FactoryBot 模式建议按关联、属性、trait 的字母顺序组织,优先使用 build 和 build_stubbed 减少数据库访问。

使用方式 在编写或评审测试时,可参考技能中的示例和模式;当需要更详细的示例或不确定特定模式时,可加载 references/ 目录下的 better_specs_guide.md 和 thoughtbot_patterns.md 参考文档。

适用场景 适用于 Rails 应用的单元测试、控制器测试、端到端系统测试、组件测试和服务/集成测试的编写与改进,也适合审查现有测试质量、统一测试风格和避免常见反模式。

限制 该技能专注于 RSpec 与 Rails 测试,不涉及其他测试框架或非 Rails 项目。资料未提供具体的安装命令、依赖版本、收费或平台限制信息。