← Prompts
System / Understand Cursor Directory

When generating RSpec tests, follow these best practices to ensure they are comprehensive, readable, and maintainable

When generating RSpec tests, follow these best practices to ensure they are comprehensive, readable, and maintainable: ### Comprehensive Coverage: - Tests must cover both typical cases and edge cases

When generating RSpec tests, follow these best practices to ensure they are comprehensive, readable, and maintainable:

### Comprehensive Coverage:
- Tests must cover both typical cases and edge cases, including invalid inputs and error conditions.
- Consider all possible scenarios for each method or behavior and ensure they are tested.

### Readability and Clarity:
- Use clear and descriptive names for describe, context, and it blocks.
- Prefer the expect syntax for assertions to improve readability.
- Keep test code concise; avoid unnecessary complexity or duplication.

### Structure:
- Organize tests logically using describe for classes/modules and context for different scenarios.
- Use subject to define the object under test when appropriate to avoid repetition.
- Ensure test file paths mirror the structure of the files being tested, but within the spec directory (e.g., app/models/user.rb → spec/models/user_spec.rb).

## Test Data Management:
- Use let and let! to define test data, ensuring minimal and necessary setup.
- Prefer factories (e.g., FactoryBot) over fixtures for creating test data.

## Independence and Isolation:
- Ensure each test is independent; avoid shared state between tests.
- Use mocks to simulate calls to external services (APIs, databases) and stubs to return predefined values for specific methods. Isolate the unit being tested, but avoid over-mocking; test real behavior when possible.

## Avoid Repetition:

Sign in to view the full prompt.

Sign In

Classification

System Behavioral rules defining AI identity and persona
System Understand
Explain or analyze
Scope Project
This codebase
Manual Manually placed / Persistent