用途:为 Rails Engine 创建或改进测试覆盖,核心目标是在宿主应用中证明引擎行为正确,优先集成可信度而非孤立测试数量。
主要能力:提供测试类型速查,包括请求规格(验证挂载端点、真实路由与控制器)、路由规格(验证引擎路由与挂载行为)、生成器规格(覆盖安装命令、复制文件、幂等性)、配置规格(验证引擎遵循宿主配置覆盖)、重载安全测试(针对装饰器、补丁与 to_prepare 钩子的回归测试)。
使用方式:先识别引擎类型与公开行为,区分单元测试与 dummy app 集成测试;先添加证明挂载与启动的最小集成测试,再按需补充请求、路由、配置与生成器覆盖;重构前为耦合或重载缺陷添加回归测试。硬性要求:每个引擎都必须有 dummy app 用于测试。非平凡引擎的最低基线为:一个 dummy app 启动或集成规格、一个挂载端点的请求或路由规格、一个宿主定制配置规格、公开服务或 PORO 的单元测试;若有生成器则加生成器规格,若有装饰器或重载钩子则加重载覆盖。
适用场景:Rails Engine 的测试搭建与改进,包括 dummy app 设置、请求规格、路由规格、生成器规格、重载安全测试、宿主集成覆盖。
限制与常见错误:不要用真实宿主替代 dummy app;不要只做孤立单元测试而忽略挂载与集成;不要跳过重载安全测试;生成器存在时不要缺少生成器规格;不要缺少配置规格。危险信号包括仅特定 Rails 版本通过、无版本矩阵、spec/ 下无 dummy app、配置覆盖未测试等。资料未提供具体安装命令或版本要求。