/pytest_dragons

PyTest Plugins to run DRAGONS tests

Primary LanguagePythonOtherNOASSERTION

pytest_dragons

Run unit tests

This plugin contains the fixtures for the DRAGONS Test Suite. At first, these fixtures lived in conftest.py files spread all over DRAGONS repository. Then, we collected all these fixtures and put them into a single PyTest plug-in that lived within DRAGONS, but using them would require installing DRAGONS.

Now we are splitting up the pytest_dragons plugin, so you can install it without installing DRAGONS, making it clearer where are the fixtures and allowing us to test the source code easily if wanted.


This pytest plugin was generated with Cookiecutter along with @hackebrot's cookiecutter-pytest-plugin template.

Features

All the fixtures and helper functions now live within pytest_dragons. Helper functions are standard Python functions. Fixtures are special PyTest functions that need to be used as arguments for test functions. Most of the fixtures are using by our team tests that run inside NOIRLab/GEMINI private network. Getting access to external contributors is unlikely to happen due to cybersecurity policies and data ownership.

However, you do need to install this plug-in if running any tests for DRAGONS.

Requirements

  • Python >= 3.7
  • PyTest

Installation

The easiest way to install pytest_dragons is via pip::

$ pip install -e git+https://github.com/GeminiDRSoftware/pytest_dragons.git@v1.0.0#egg=pytest_dragons

Please, note that this is installing the pytest_dragons v0.1.0. Refer to the Releases pages for all the released versions available.

Usage

  • TODO

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the BSD license, "pytest_dragons" is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.