Skip to main content

AI based test generation tool.

Project description

Chatgpt Test Generator

Easy-to-use test generation tool. Powered by ChatGPT.

Project Structure:

├── main.py
├── poetry.lock
├── pyproject.toml
├── settings.toml
└── tests

Usage:

Generates automatic test for all functions with #GPT -> syntax.

Available syntax rules will increase in next releases.

main.py

import chatgpt_test_generator


# GPT ->
def search(array: list, number: int):
    for idx, element in enumerate(array):
        if element == number:
            return idx

    return -1


if __name__ == "__main__":
    chatgpt_test_generator.generate_tests_on_background()
    

In addition, the settings.toml file should be configured as follows:

settings.toml

[default]
CHATGPT_API_KEY = "YOUR OPEN-AI API KEY"

If main.py is run, it will create tests for functions with GPT -> syntax under /test folder.

├── main.py
├── poetry.lock
├── pyproject.toml
├── settings.toml
└── tests
    └── test_main.py

test_main.py

from main import search


def test_search():
    array = [1, 2, 3, 4, 5]
    assert search(array, 3) == 2
    assert search(array, 6) == -1

It doesn't matter how complex the project folder is.

├── comlex_folder1
│ ├── complex_folder2
│ └── complex_folder4
│   └── example.py
│ └── complex_folder_3
├── main.py
├── poetry.lock
├── pyproject.toml
├── settings.toml
└── tests
    └── test_main.py

example.py

# GPT ->
def divide_numbers(number1: int, number2: int):
    return number1 / number2

If I run main.py again, the output will be like this.

├── comlex_folder1
│   ├── complex_folder2
│   │   └── complex_folder4
│   │       └── example.py
│   └── complex_folder_3
├── main.py
├── poetry.lock
├── pyproject.toml
├── settings.toml
└── tests
    ├── test_example.py
    └── test_main.py

test_example.py

from comlex_folder1.complex_folder2.complex_folder4.example import divide_numbers


def test_divide_numbers():
    assert divide_numbers(4, 2) == 2
    assert divide_numbers(9, 3) == 3
    assert divide_numbers(2, 4) == 0.5
    assert divide_numbers(-4, -2) == 2
    assert divide_numbers(-9, 3) == -3
    assert divide_numbers(-2, 4) == -0.5

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatgpt_test_generator-0.1.2.tar.gz (5.1 kB view hashes)

Uploaded Source

Built Distribution

chatgpt_test_generator-0.1.2-py3-none-any.whl (6.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page