diff --git a/docs/changelog.md b/docs/changelog.md index 9d40ab2b..240fbdfa 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -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 diff --git a/docs/finishing-touches/docstrings.md b/docs/finishing-touches/docstrings.md index 235e7398..c504fa8a 100644 --- a/docs/finishing-touches/docstrings.md +++ b/docs/finishing-touches/docstrings.md @@ -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: diff --git a/docs/finishing-touches/unit-test-generation.md b/docs/finishing-touches/unit-test-generation.md new file mode 100644 index 00000000..57c5e211 --- /dev/null +++ b/docs/finishing-touches/unit-test-generation.md @@ -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'; + + +``` + +:::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 diff --git a/docs/reference/review-commands.md b/docs/reference/review-commands.md index 011bf9d5..cb50b59c 100644 --- a/docs/reference/review-commands.md +++ b/docs/reference/review-commands.md @@ -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 diff --git a/sidebars.ts b/sidebars.ts index 91cab161..3d56f2b7 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -103,6 +103,7 @@ const sidebars: SidebarsConfig = { items: [ "integrations/code-graph-analysis", "finishing-touches/docstrings", + "finishing-touches/unit-test-generation", ], }, ],