Testing#
pytest is used for testing. There are two main types of tests:
‘core’ tests which should be run on every change
‘download’ tests which hit the network. These tests will do things like make API calls (e.g. Twitter, Bluesky etc.) and should be run regularly to make sure that APIs have not changed, they take longer.
Running Tests#
Make sure you’ve installed the dev dependencies with
pytest install --with devTests can be run as follows:
#### Command prefix of 'poetry run' removed here for simplicity
# run core tests
pytest -ra -v -m "not download"
# run download tests
pytest -ra -v -m "download"
# run all tests
pytest -ra -v
# run a specific test file
pytest -ra -v tests/test_file.py
# run a specific test function
pytest -ra -v tests/test_file.py::test_function_name
Some tests require environment variables to be set. You can use the example
.env.test.examplefile as a template. Copy it to.env.testand fill in the required values. This file will be loaded automatically bypytest.
cp .env.test.example .env.test