May Meet Minutes - Pynguin
May 30, 2022
Module: pynguin
Installation: pip install pynguin
About: Pynguin, the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.
Sample Source Code
def triangle(x: int, y: int, z: int) -> str:
    if x == y == z:
        return "Equilateral triangle"
    elif x == y or y == z or x == z:
        return "Isosceles triangle"
    else:
        return "Scalene triangle"Prerequisite
To help prevent harming the system that runs Pynguin, its CLI will immediately abort unless the environment variable PYNGUIN_DANGER_AWARE is set.
export PYNGUIN_DANGER_AWARE=1Execution
pynguin --project_path ./ --output-path pynguin_output --module-name pynguin_demo
cd pynguin_output 
ls -rtlOutput:
total 16
-rw-r--r--  1 dev  staff  879 29 May 23:26 test_pynguin_demo.py
-rw-r--r--  1 dev  staff   38 29 May 23:26 test_pynguin_demo_failing.pyGenerated Test Output
Below testcases are automatically created by the module, with different values passed:
# Automatically generated by Pynguin.
import pynguin_demo as module_0
def test_case_0():
    int_0 = -156
    int_1 = -5206
    str_0 = module_0.triangle(int_1, int_0, int_1)
    assert str_0 == 'Isosceles triangle'
    str_1 = module_0.triangle(int_0, int_0, int_0)
    assert str_1 == 'Equilateral triangle'
def test_case_1():
    int_0 = 1038
    int_1 = 5772
    str_0 = module_0.triangle(int_0, int_1, int_1)
    assert str_0 == 'Isosceles triangle'
def test_case_2():
    int_0 = -785
    int_1 = 3730
    int_2 = -1030
    str_0 = module_0.triangle(int_1, int_1, int_2)
    assert str_0 == 'Isosceles triangle'
    str_1 = module_0.triangle(int_0, int_0, int_0)
    assert str_1 == 'Equilateral triangle'
def test_case_3():
    int_0 = 1910
    int_1 = 899
    int_2 = None
    str_0 = module_0.triangle(int_0, int_1, int_2)
    assert str_0 == 'Scalene triangle'