From d4b560b6674e937310afb04dc002b0e09c6c783a Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Wed, 11 Jun 2025 13:02:51 -0700 Subject: [PATCH 1/8] thinky --- docs/finishing-touches/docstrings.md | 2 +- .../finishing-touches/unit-test-generation.md | 65 +++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 docs/finishing-touches/unit-test-generation.md diff --git a/docs/finishing-touches/docstrings.md b/docs/finishing-touches/docstrings.md index 235e7398..2a31b5c4 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..b7bfa331 --- /dev/null +++ b/docs/finishing-touches/unit-test-generation.md @@ -0,0 +1,65 @@ +--- +title: Generate Unit Tests +description: Automated Unit Test Generation with CodeRabbit +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +# Unit Test Generation + +Unit Test Generation is part of the [finishing touches](/future-development#finishing-touches). + +Unit Test Generation is an Early Access 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. + +Here's an example of what a pull request may look like: + +![Unit Tests PR](/img/finishing-touches/unit-tests-pull-request.png) + +## 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 + +We are working on GitLab and Azure DevOps support as of writing. + +## Supported CI/CD systems + +These CI/CD systems are supported for post-generation adjustments: + +- GitHub actions + +We are working on CircleCI and Travis CI support as of writing. + +## Supported languages + +Any programming language and unit test library / framework known to the LLM is supported. From 73a8f487baf324b832f310cc80efa11f13373d28 Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Wed, 11 Jun 2025 13:03:58 -0700 Subject: [PATCH 2/8] thinky --- docs/finishing-touches/unit-test-generation.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/finishing-touches/unit-test-generation.md b/docs/finishing-touches/unit-test-generation.md index b7bfa331..74dd846d 100644 --- a/docs/finishing-touches/unit-test-generation.md +++ b/docs/finishing-touches/unit-test-generation.md @@ -9,11 +9,15 @@ 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 feature. +Unit Test Generation is an Early Access Experimental feature. ## Usage From f6ac90079c6b53efba047655bb3593d0da2c6a56 Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Thu, 12 Jun 2025 14:46:36 -0700 Subject: [PATCH 3/8] lets not lmao --- docs/finishing-touches/unit-test-generation.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/finishing-touches/unit-test-generation.md b/docs/finishing-touches/unit-test-generation.md index 74dd846d..85f9949d 100644 --- a/docs/finishing-touches/unit-test-generation.md +++ b/docs/finishing-touches/unit-test-generation.md @@ -29,10 +29,6 @@ Once sent, CodeRabbit will perform the following actions: - 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. -Here's an example of what a pull request may look like: - -![Unit Tests PR](/img/finishing-touches/unit-tests-pull-request.png) - ## 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. From 4aed00271eca0cd2f148a1946c6efe704c86886f Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Thu, 12 Jun 2025 14:49:16 -0700 Subject: [PATCH 4/8] thingy --- docs/changelog.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 9d40ab2b..aa4e90cd 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -15,6 +15,19 @@ 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 our new unit test generation feature, for 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. + +The generated tests can be easily customized to fit your specific requirements. + ## June 5, 2025 ### Enhanced Static Analysis: Dotenv Linter and Pylint Support From 00fa1d3267aa759b5c49ae64b175091f7ba324e1 Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Thu, 12 Jun 2025 14:53:19 -0700 Subject: [PATCH 5/8] reference --- docs/changelog.md | 1 + docs/reference/review-commands.md | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index aa4e90cd..a0c01d29 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -22,6 +22,7 @@ We're excited to announce that two new static analysis tools are now supported o We're excited to announce our new unit test generation feature, for 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. 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 From 0bbfe70db728f3921db940897fea94693bdb3239 Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Thu, 12 Jun 2025 16:22:25 -0700 Subject: [PATCH 6/8] let them ask the question --- docs/changelog.md | 4 ++-- docs/finishing-touches/docstrings.md | 2 +- docs/finishing-touches/unit-test-generation.md | 10 +--------- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index a0c01d29..240fbdfa 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -19,7 +19,7 @@ We're excited to announce that two new static analysis tools are now supported o ### Unit Test Generation, Early Access -We're excited to announce our new unit test generation feature, for early access! CodeRabbit can now automatically generate unit tests for your code changes. +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: @@ -27,7 +27,7 @@ Key capabilities: - **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. -The generated tests can be easily customized to fit your specific requirements. +You can customize the generated tests to fit your specific requirements. ## June 5, 2025 diff --git a/docs/finishing-touches/docstrings.md b/docs/finishing-touches/docstrings.md index 2a31b5c4..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 or by clicking the `๐Ÿ“ Generate Docstrings` checkbox under `โœจ Finishing Touches` in the CodeRabbit Walkthrough. +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 index 85f9949d..00b50832 100644 --- a/docs/finishing-touches/unit-test-generation.md +++ b/docs/finishing-touches/unit-test-generation.md @@ -21,7 +21,7 @@ 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 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: @@ -50,16 +50,8 @@ These software forges are supported: - GitHub -We are working on GitLab and Azure DevOps support as of writing. - ## Supported CI/CD systems These CI/CD systems are supported for post-generation adjustments: - GitHub actions - -We are working on CircleCI and Travis CI support as of writing. - -## Supported languages - -Any programming language and unit test library / framework known to the LLM is supported. From 382228edd236b772f947fe044d03058e016ad988 Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Thu, 12 Jun 2025 16:24:22 -0700 Subject: [PATCH 7/8] thinky --- sidebars.ts | 1 + 1 file changed, 1 insertion(+) 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", ], }, ], From 3bc7d0d22c24c7e311aeacca2c548f23e5b5de84 Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Thu, 12 Jun 2025 16:28:30 -0700 Subject: [PATCH 8/8] looks weird otherwise --- docs/finishing-touches/unit-test-generation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/finishing-touches/unit-test-generation.md b/docs/finishing-touches/unit-test-generation.md index 00b50832..57c5e211 100644 --- a/docs/finishing-touches/unit-test-generation.md +++ b/docs/finishing-touches/unit-test-generation.md @@ -1,5 +1,5 @@ --- -title: Generate Unit Tests +title: Generate unit tests description: Automated Unit Test Generation with CodeRabbit ---