An automated Python unit test generation tool
Project description
Pynguin
Pynguin, the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.
It provides different algorithms to generate sequences that can be used to test your code. It currently does not generate any assertions though.
Prerequisites
Before you begin, ensure you have met the following requirements:
- You have installed Python 3.8
- You have a recent Linux/macOS machine. We have not tested the tool on Windows machines although it might work.
Installing Pynguin
Pynguin can be easily installed using the pip
tool by typing:
pip install pynguin
Make sure that your version of pip
is the one of the Python 3.8 interpreted or a
virtual environment that uses Python 3.8 as its interpreter as any older version is
not supported by Pynguin!
Using Pynguin
TODO: Write this section!
Contributing to Pynguin
For the development of Pynguin you will need the poetry
dependency management and packaging tool.
To start developing, follow these steps:
-
Clone the repository
-
Change to the
pynguin
folder:cd pynguin
-
Create a virtual environment and install dependencies using
poetry
:poetry install
-
Make your changes
-
Run
poetry shell
to switch to the virtual environment in your current shell -
Run
make check
to verify that your changes pass all checksPlease see the
poetry
documentation for more information on this tool.
Development using PyCharm.
If you want to use the PyCharm IDE you have to set up a few things:
- Import pynguin into PyCharm.
- Find the location of the virtual environment by running
poetry env info
in the project directory. - Go to
Settings
/Project: pynguin
/Project interpreter
- Add and use a new interpreter that points to the path of the virtual environment
- Set the default test runner to
pytest
License
This project is licensed under the terms of the GNU Lesser General Public License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.