Simplest Pytest Setup
This is the most basic project layout for running pytest, a desirable test runner for your python code.
Prerequisites
First, get python3 installed. Then a virtual environment, like pipenv.
Get dependencies
Then use pipenv to get your pytest dependencies.
cd my_project
pipenv shell
pipenv install pytest pytest-watch
Create project files
Then create your source file, vim module.py
:
def placeholder():
return True
Then create your test file, vim module_test.py
:
from module import placeholder
def test_placeholder():
assert placeholder()
Ensure the import
will work by making the directory a package: touch __init__.py
.
Run the tests
Now you should be ready to run tests.
pytest
will run the tests once.
ptw
will run the tests in watch mode.
That's the simplest pytest setup I could conceive. Can you think of a simpler one? Of a better one?