登录 注册

shoulda-matchers

去点 Star
内容创作与媒体工具
3,577
Stars
—
Forks
0
Watchers
—
Open Issues
待补全
许可证
Ruby
语言
—
创建时间
最近更新

项目能做什么

为 Rails 常见功能提供简单、单行测试断言的工具库。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Shoulda Matchers [![Gem Version][version-badge]][rubygems] [![Build Status][github-actions-badge]][github-actions] [![Total Downloads][downloads-total]][rubygems] [![Downloads][downloads-badge]][rubygems]

[version-badge]: https://img.shields.io/gem/v/shoulda-matchers.svg
[rubygems]: https://rubygems.org/gems/shoulda-matchers
[github-actions-badge]: https://img.shields.io/github/actions/workflow/status/thoughtbot/shoulda-matchers/ci.yml?branch=main
[github-actions]: https://github.com/thoughtbot/shoulda-matchers/actions
[downloads-total]: https://img.shields.io/gem/dt/shoulda-matchers.svg
[downloads-badge]: https://img.shields.io/gem/dtv/shoulda-matchers.svg
[downloads-badge]: https://img.shields.io/gem/dtv/shoulda-matchers.svg

[![shoulda-matchers][logo]][website]

[logo]: https://matchers.shoulda.io/images/shoulda-matchers-logo.png
[website]: https://matchers.shoulda.io/

Shoulda Matchers provides RSpec and Minitest-compatible one-liners to test
common Rails functionality that, if written by hand, would be much longer, more
complex, and error-prone.

## Quick links

📖 **[Read the documentation for the latest version][rubydocs].**
📢 **[See what's changed in recent versions][changelog].**

[rubydocs]: https://matchers.shoulda.io/docs
[changelog]: CHANGELOG.md

## Table of contents

- [Getting started](#getting-started)
   - [RSpec](#rspec)
    - [Rails apps](#rails-apps)
    - [Non-Rails apps](#non-rails-apps)
  - [Minitest](#minitest)
    - [Rails apps](#rails-apps-1)
    - [Non-Rails apps](#non-rails-apps-1)
- [Usage](#usage)
  - [On the subject of `subject`](#on-the-subject-of-subject)
  - [Availability of RSpec matchers in example groups](#availability-of-rspec-matchers-in-example-groups)
    - [Rails projects](#rails-projects)
    - [Non-Rails projects](#non-rails-projects)
  - [`should` vs `is_expected.to`](#should-vs-is_expectedto)
  - [A Note on Testing Style](#a-note-on-testing-style)
- [Matchers](#matchers)
  - [ActiveModel matchers](#activemodel-matchers)
  - [ActiveRecord matchers](#activerecord-matchers)
  - [ActionController matchers](#actioncontroller-matchers)
  - [Routing matchers](#routing-matchers)
  - [Independent matchers](#independent-matchers)
- [Extensions](#extensions)
- [Contributing](#contributing)
- [Compatibility](#compatibility)
- [Versioning](#versioning)
- [Team](#team)
- [Copyright/License](#copyrightlicense)
- [About thoughtbot](#about-thoughtbot)

## Getting started

### RSpec

Start by including `shoulda-matchers` in your Gemfile:

```ruby
group :test do
  gem 'shoulda-matchers', '~> 8.0'
end
```

Then run `bundle install`.

Now you need to configure the gem by telling it:

- which matchers you want to use in your tests
- that you're using RSpec so that it can make those matchers available in
  your example groups

#### Rails apps

If you're working on a Rails app, simply place this at the bottom of
`spec/rails_helper.rb` (or in a support file if you so choose):

```ruby
Shoulda::Matchers.configure do |config
阅读完整原文

项目深度分析 AI 生成

Rails 智能测试用例自动生成 CLI / VSCode 插件

产品构想结合 AST 解析与 LLM,根据现有的 ActiveRecord 模型与控制器定义,一键自动生成标准 shoulda-matchers 测试代码的开发者工具。
核心功能Schema 与 Model 静态解析、一键批量生成 shoulda-matchers 断言规范、覆盖率增量检查、IDE/CLI 支持。
目标用户希望提升测试覆盖率但时间紧迫的 Rails 独立开发者与外包开发团队。
难度/周期中等 · 1-2 个月 · 成本:开发机器 + LLM API 调用微量成本
收费模式免费基础功能 + 高级规则/批量全项目生成订阅制 (Freemium)。
竞争风险通用代码补全工具(如 GitHub Copilot)挤压独立插件的生存空间。
依据 AI推测

Rails 现代化测试规范升级与迁移咨询服务

产品构想面向拥有多年遗留 Rails 项目的中大型团队,提供从冗长自定义测试向 Shoulda Matchers / RSpec 标准化套件重构的咨询服务与定制脚本工具。
核心功能测试代码坏味道检测、旧测试代码自动化转 shoulda-matchers 迁移脚本、团队测试工作流规范制定。
目标用户拥有 5 年以上老旧 Rails 项目、CI 耗时严重且代码可维护性差的技术主管 (Tech Leads)。
难度/周期高 · 2-3 个月 · 成本:专家时间成本 + 营销拓客成本
收费模式技术咨询按项目包收费(如 $3,000 - $10,000 / 项目)。
竞争风险咨询需求难以标准化扩展,客源获客周期长,高度依赖个人信誉。
依据 尚需验证的假设

Rails 自动化测试与质量工程专栏 / 培训工作坊

产品构想基于 shoulda-matchers 及其背后的 TDD/BDD 最佳实践,打造体系化的 Rails 高质量测试教学课程与付费知识库。
核心功能包含 Model/Controller/System 测试全流程的最佳实践案例库、实战重构视频教程、代码审查答疑社群。
目标用户初中级 Rails 开发者、希望系统掌握 TDD 规范的团队成员。
难度/周期低 · 3-4 周 · 成本:课程录制剪辑软件 + 课件制作时间
收费模式一次性买断课程或知识社群订阅费用。
竞争风险Ruby 生态相对成熟饱和,增量初级开发者体量有限。
依据 已验证事实
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

相似项目数据正在完善中,暂不展示(避免误导)

项目优势与风险

技术成熟度创建时间待补全,最近推送 ,发布过 27 个 Release
社区活跃Star 3,577 / Fork 0 / Issue 0(数据支持,可自行核实)
许可证未检测到(需人工确认)
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。