Skip to content

Latest commit

 

History

History
41 lines (32 loc) · 2.33 KB

File metadata and controls

41 lines (32 loc) · 2.33 KB

💂‍♀️ Testing

The golden rule of testing: If it is not tested, it does not work.

Therefore, we test the QUEENS code base

  • to ensure our code is working as expected
  • to check compatibility w.r.t. to new features
  • to find bugs faster

👷 Writing tests

🏃‍♀️ Running tests

QUEENS is tested using pytest. For a comprehensive list of pytest commands, see here. Some additional useful commands to test QUEENS are listed in the following:

Test Command
In parallel with pytest-xdist pytest -n <num_workers>
With verbose output pytest -ra -v
With logging output pytest -o log_cli=true --log-cli-level=INFO
With coverage report pytest --cov-report=html --cov
Only the last failed pytest --lf

🔖 Pytest markers

In QUEENS, tests are organized using pytest markers. This allows you to run all tests in a group with a single command:

Description Command
Unit tests pytest -m unit_tests
Integration tests pytest -m integration_tests
4C integration test (see below) pytest -m integration_tests_fourc
List markers pytest --markers

🍀 Integration tests with 4C

For the integration tests in QUEENS that require the multiphysics simulation framework 4C, the user needs to create a symbolic link to the 4C-executable and store it under <queens-base-dir>/config:

ln -s <path-to-4C-build-directory> <queens-base-dir>/config/4C_build