Skip to main content

Tool to generate simple unit test using openai api

Project description

AITestGen

Python Library to generate unit tests using OpenAI API

Installation

Create a virtual enviroment (Optional)

python -m venv venv
source venv/bin/activate # venv/Scripts/activate on Windows

Install package (require python ^3.11 version)

pip install aitestgen

Add OpenAI API Key (Required)

export OPENAI_API_KEY=<my_api_key>  # or add variable in your .env file

Example

Create a python file and add the following code:

from aitestgen.autotest import autotest

@autotest()
def sum(num1: float, num2: float) -> float:
    """This function is responsible for calculating the sum of two numbers"""
    return num1 + num2

@autotest()
def mul(num1: float, num2: float) -> float:
    """This function is responsible for calculating the multiplication of two numbers"""
    return num1 * num2

Important:

To improve results, add type annotations and documentation to the function.

Generate tests:

Run the following command (change the filename)

aitestgen generate --inputfile src/operations.py

And then you will get the following result in a .py file created in a tests folder:

Result

# Function: mul - test1:
def test_mul_positive_numbers():
    assert mul(5.5, 2) == 11.0

# Function: mul - test2:
def test_mul_negative_numbers():
    assert mul(-3, 4) == -12.0

# Function: mul - test3:
def test_mul_zero():
    assert mul(0, 10) == 0.0

# Function: sum - test1:
def test_sum_positive_numbers():
    assert sum(3.5, 2.5) == 6.0

# Function: sum - test2:
def test_sum_negative_numbers():
    assert sum(-3.5, -2.5) == -6.0

# Function: sum - test3:
def test_sum_mixed_numbers():
    assert sum(3.5, -2.5) == 1.0

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

aitestgen-0.0.2.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

aitestgen-0.0.2-py3-none-any.whl (4.8 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