Rspec
A comprehensive skill catalog for AI agents
npx -y skills add G1Joshi/Agent-Skills --skill rspecAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
RSpec Ruby testing framework. Use for Ruby testing.
SKILL.md
1.5 KB, as published. Nobody here has run it
RSpec
RSpec is the primary testing tool for Ruby (especially Rails). It focuses on "Behavior Driven Development" (BDD), making tests read like documentation specifications.
When to Use
- Ruby/Rails Projects: The community standard (over Minitest) for complex apps.
- Documentation: You want tests that generate readable specs.
Quick Start
# user_spec.rb
RSpec.describe User, type: :model do
context "when newly created" do
it "has no name" do
user = User.new
expect(user.name).to be_nil
end
end
end
Core Concepts
describe vs context
describe: Describes the thing being tested (Class, Method).context: Describes the condition ("when user is logged in").
Let and Let!
Lazy-loaded variables.
let(:user) { User.create }: Created only when referenced.let!(:user) { User.create }: Created before each test (eager).
Matchers
expect(x).to eq(y), be_valid, change { User.count }.by(1).
Best Practices (2025)
Do:
- Use
subject: Define the subject of the test explicitly. - Keep
itblocks short: One expectation per block ideally. - Use FactoryBot: Don't use Fixtures (YAML). Use Factories to build test data.
Don't:
- Don't overuse
before(:all): It introduces shared state between examples. Usebefore(:each)(default). - Don't put logic in specs: Specs should verify behavior, not calculate it.