Skip to content

Unit test gen docs #398

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jun 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@ We're excited to announce that two new static analysis tools are now supported o

- [Checkmake](https://github.com/mrtazz/checkmake) is a linter for Makefiles that helps ensure your build scripts follow best practices and maintain consistency.

## June 10, 2025

### Unit Test Generation, Early Access

We're excited to announce that our new unit test generation feature is now available in early access! CodeRabbit can now automatically generate unit tests for your code changes.

Key capabilities:

- **Intelligent Test Generation**: Automatically creates unit tests that cover edge cases, error scenarios, and core functionality
- **Context-Aware**: Generates tests that understand your existing codebase patterns and testing conventions
- **One-Click Integration**: Simply comment `@coderabbitai auto-generate unit tests` on any pull request or specific file, or click on the checkbox available in the walkthrough comment for Early Access customers.

You can customize the generated tests to fit your specific requirements.

## June 5, 2025

### Enhanced Static Analysis: Dotenv Linter and Pylint Support
Expand Down
2 changes: 1 addition & 1 deletion docs/finishing-touches/docstrings.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Docstrings generation is part of the [finishing touches](/future-development#fin

## Usage

Once you are done with your pull request and its reviews, you may want to perform finishing touches to your code, such as adding in-code documentation. You can request CodeRabbit to generate docstrings by typing `@coderabbitai generate docstrings` in a comment under that pull request.
Once you are done with your pull request and its reviews, you may want to perform finishing touches to your code, such as adding in-code documentation. You can request CodeRabbit to generate docstrings by typing `@coderabbitai generate docstrings` in a comment under that pull request or by clicking the **Generate Docstrings** checkbox under **Finishing Touches** in the CodeRabbit Walkthrough.

Once sent, CodeRabbit will perform the following actions:

Expand Down
57 changes: 57 additions & 0 deletions docs/finishing-touches/unit-test-generation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: Generate unit tests
description: Automated Unit Test Generation with CodeRabbit
---

```mdx-code-block
import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';

<ProPlanNotice />
```

:::warning
This feature is [experimental](/early-access#experiments).
:::

# Unit Test Generation

Unit Test Generation is part of the [finishing touches](/future-development#finishing-touches).

Unit Test Generation is an Early Access Experimental feature.

## Usage

Once you are done with your pull request and its reviews, you may want to perform finishing touches to your code, such as adding unit tests. You can request CodeRabbit to generate unit tests by typing `@coderabbitai auto-generate unit tests` in a comment under that pull request or by clicking a checkbox under **Generate Unit Tests** in the CodeRabbit Walkthrough.

Once sent, CodeRabbit will perform the following actions:

- The CodeRabbit agent will examine your code for places where it needs tests
- Unit tests will be generated for the PR, in a separate PR, in the same PR in a new commit, or in a comment to copy-paste, depending on your choice
- If (and only if) you choose to generate the unit tests in a separate PR, CodeRabbit will examine your GitHub checks (build steps and tests and such) and adjust the PR to deal with build failures, test failures and similar.

## Path Instructions

You can customize the generated unit tests by providing instructions based on file paths in your `.coderabbit.yaml`. The `path` is a [minimatch](https://github.com/isaacs/minimatch) pattern.

```yaml
code_generation:
unit_tests:
path_instructions:
- path: "**/*.ts"
instructions: |
Use vitest for testing framework.
Generate comprehensive test cases including edge cases and error conditions.
Do not omit the imports; the test file must be valid.
```

## Supported software forges

These software forges are supported:

- GitHub

## Supported CI/CD systems

These CI/CD systems are supported for post-generation adjustments:

- GitHub actions
9 changes: 5 additions & 4 deletions docs/reference/review-commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,11 @@ CodeRabbit through chat, see [Interact with CodeRabbit reviews](/guides/code-rev

## Documentation commands

| Command | Description | Use Case |
| ----------------------------------- | -------------------------------------------- | --------------------------------------------------- |
| `@coderabbitai generate docstrings` | Generates docstrings for functions in the PR | When you need automatic documentation for your code |
| `@coderabbitai configuration` | Shows current CodeRabbit settings | When you need to check or export your configuration |
| Command | Description | Use Case |
| ---------------------------------------- | -------------------------------------------- | --------------------------------------------------- |
| `@coderabbitai generate docstrings` | Generates docstrings for functions in the PR | When you need automatic documentation for your code |
| `@coderabbitai auto-generate unit tests` | Generates unit tests for the PR | When you need automatic unit testing for your code |
| `@coderabbitai configuration` | Shows current CodeRabbit settings | When you need to check or export your configuration |

## Agentic chat commands

Expand Down
1 change: 1 addition & 0 deletions sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ const sidebars: SidebarsConfig = {
items: [
"integrations/code-graph-analysis",
"finishing-touches/docstrings",
"finishing-touches/unit-test-generation",
],
},
],
Expand Down