Testing¶
The test suite lives in tests/ and uses pytest.
Running tests¶
Unit tests only (no external tools required):
pytest tests/
Including integration tests (requires xtb and crest on PATH):
pytest tests/ --integration
Integration tests are marked @pytest.mark.integration and skipped by default. CENSO/ORCA tests are not included, as they require a full DFT installation.
Test data¶
Sample fixture files live in tests/data/ and include xTB output, CREST entropy output, an RDKit results CSV, CENSO output, and a multi-conformer XYZ file. These are used by the unit tests so no external tools need to be running.
Continuous integration¶
Tests run automatically on every push and pull request to main via GitHub Actions (see .github/workflows/test.yml). The workflow sets up the conda environment from env.yaml and runs the full integration test suite.