Introduction

Unittesting sessions are designed to help you efficiently create and maintain unit tests for your codebase. This specialized workflow focuses on generating comprehensive test cases, ensuring code coverage, and maintaining the overall quality of your software.

Format

The general format of a unittesting session is as follows:

  1. Task Definition: You provide the agent with code that needs testing, including context and requirements.
  2. Analysis: The agent analyzes the provided code and context to understand testing needs.
  3. Test Generation: The agent creates new test cases or updates existing ones.
  4. Review: You review the generated tests and provide feedback if necessary.
  5. Integration: Once approved, the agent integrates the new or updated tests into your project’s test suite.

Getting Started

There are two primary ways to initiate a unittesting session:

GitHub Integration

To start a unittesting session through our GitHub integration:

  1. Open an issue describing the testing requirements on GitHub.
  2. Comment @honeycombsh unittest on the issue to begin the process.

    There is no autocomplete for @honeycombsh, so you’ll need to type it out in full.

    Once the agent picks up the issue, it will start working on the unit tests.

Dashboard

For more control over the session settings, you can initiate a unittesting session from the dashboard:

  1. Navigate to the Sessions tab.
  2. Click on the ‘Begin New’ button.
  3. Select the ‘Unittest’ card.
  4. Provide the repository, branch, and commit information.
  5. Configure setup and testing options as needed.
  6. Set a time limit for the session.
  7. Provide detailed information about the code that needs testing, including any specific requirements or focus areas.
  8. Optionally, include a link to the GitHub pull request for additional context.

For most unittesting tasks, choosing “None” for setup and testing, with a 1-hour time limit is a good starting point. For more complex testing scenarios, you may want to configure custom setup procedures and allow for a longer time limit.