Testing¶
PyGerber uses pytest for testing purposes. All tests are contained in tests/
directory. Tests are grouped in 3 categories:
unit
: tests for individual functionalities, testing those in separation from rest of the projecte2e
: end-to-end tests, testing full flows from user provided data to user consumable outputexamples
: automatically validated code exampled used in documentation
Assets used as input data for tests are stored in tests/assets/
directory. Assets used
as output reference data are stored in separate repository:
pygerber_reference_assets.
Example of test making use of reference data can be found in
test/unit/test_console/test_gerber.py
- test_gerber_convert_png
. Reference asset
must be generated by special execution mode of the test, guarded by
is_regeneration_enabled
fixture. To regenerate test asset (or generate it for the
first time) you have to run that test alone with --regenerate
flag. To commit
regenerated assets, use --auto-commit-regenerated
flag.