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

Uploaded Source

Built Distribution

aitestgen-0.0.2-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file aitestgen-0.0.2.tar.gz.

File metadata

  • Download URL: aitestgen-0.0.2.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.5.0-10-generic

File hashes

Hashes for aitestgen-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f1fa4ebf5200cf0233cbe34d8e1ad717e0d20f621f8d58bc8dcfed0d361f3314
MD5 05907f256f09ceb54892012000783f25
BLAKE2b-256 12412ae8085435e22e8d35b682774f1c46589af8ae05eca71760880d310814f1

See more details on using hashes here.

Provenance

File details

Details for the file aitestgen-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: aitestgen-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.5.0-10-generic

File hashes

Hashes for aitestgen-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4fa3c96f37485c1277322f0c40517cc0292eba7dfce63d51c7f6e394980f6459
MD5 3d915dd4efb9e1a4fb37995a64edc727
BLAKE2b-256 0e06a28e2f82f4a4523ff812581b162f9f01a6112fd911bc5416e4117a29f42f

See more details on using hashes here.

Provenance

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