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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file chatgpt_test_generator-0.1.2.tar.gz.

File metadata

  • Download URL: chatgpt_test_generator-0.1.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.8.10 Linux/5.19.0-35-generic

File hashes

Hashes for chatgpt_test_generator-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6f9059e0495d8af08b0c56929600a862318410b67bfc583de0b165830922f4a6
MD5 7ac399e0e1c6866ccf485d07ad34f032
BLAKE2b-256 622662fc9cab56a2232bc95231f40d5986fb397dec1bdee26e2d0066a1956211

See more details on using hashes here.

File details

Details for the file chatgpt_test_generator-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for chatgpt_test_generator-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 daddc84ae0305d5a9a2bdf52035b74a72e687c9da1f00c0077c645f86f6fc3ec
MD5 889d6d6eee3a97ff877f7d1c7278a6b9
BLAKE2b-256 57cbbbfdb3a2debaf289351bff277a1b4817ec45065f2448751719b9df567701

See more details on using hashes here.

Supported by

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