Skip to content
Dhruv Parthasarathy edited this page Oct 5, 2024 · 4 revisions

Welcome to the CLI-Gen Wiki

What is CLI-Gen?

CLI-Gen is an open-source initiative designed to simplify the creation of test cases directly from a codebase. By leveraging the power of Large Language Models (LLMs) and other advanced techniques, CLI-Gen automates and streamlines the generation of test cases for both API and non-API projects.

Why This Project?

Creating comprehensive and effective test cases can be time-consuming and complex. CLI-Gen seeks to reduce the effort involved by automatically generating test cases based on a codebase, making the process more accessible for developers. Whether you're working on an API-driven project or a non-API system, CLI-Gen helps ensure your software is thoroughly tested.

How Does It Work?

  1. Code Parsing: CLI-Gen analyzes your codebase, identifying key functions and logic.
  2. LLM Integration: Using state-of-the-art LLMs, CLI-Gen interprets the code’s intent and structure, creating meaningful test scenarios.
  3. Automated Test Case Generation:
    • API Projects: Test cases are generated based on the OpenAPI spec (Swagger documentation), ensuring your API is tested according to its contract.
    • Non-API Projects: CLI-Gen creates test cases that are tailored to the logic and behavior of non-API codebases.

Key Features

  • OpenAPI Support: Automatically generate test cases from OpenAPI specs for API projects.
  • Non-API Test Support: Generates test cases for non-API projects, covering a variety of codebases and logic structures.
  • Flexible Integration: Works with various programming languages and testing frameworks.
  • Extensible: You can contribute or customize the test generation logic to suit your project's needs.

Getting Started

Check out our Getting Started Guide for instructions on how to integrate CLI-Gen into your workflow.

We welcome contributions, ideas, and feedback. Join us on this journey to make test case generation easier and more efficient for developers everywhere!

Clone this wiki locally