Making Pytest easier to use with Microsoft Azure Pipelines.
Just run pytest with this plugin and see your test results in the Azure Pipelines UI!
- Formats the PyTest output to show test docstrings and module names instead of just test case names in the Azure Pipelines UI.
- Overloads the --junit-xml flag on execution with a default value
- Uploads test results automatically, no need for a seperate test results upload command
- Displays the number of failed tests if there were failures as an error message in the UI
- Automatically formats code coverage and uploads coverage data if pytest-cov is installed
$ pip install pytest-azurepipelines
This plugin requires no configuration.
Here is an example of installing the plugin and running the tests.
- script: | python -m pip install --upgrade pip pip install pytest pytest-azurepipelines pip install -e . displayName: 'Install dependencies' - script: | python -m pytest tests/ displayName: 'pytest'
If you want to change the Azure Pipelines "Test Run Title", you can provide the --test-run-title flag with the run title.
- script: | pip install pytest pytest-azurepipelines pytest tests/ --test-run-title="Windows Test with junitxml" displayName: 'pytest with junitxml flag'
If you have long docstrings in your functions and want them to be shortened, you can use the --napoleon-docstrings flag:
- script: | pip install pytest pytest-azurepipelines pytest tests/ --test-run-title="Windows Test with junitxml" --napoleon-docstrings
Using the automatic code coverage upload
From version 0.6.0, pytest will upload successful coverage data into a format that Azure supports and package the htmlcov directory into a ZIP file as an artifact for the build.
To use this feature, add the --cov flag with (optional, but required) path to your code files and also ensure you add --cov-report html as an option.
- script: | pip install pytest pytest-azurepipelines pytest-cov pytest tests/ --cov my_project --cov-report html
Contributions are very welcome.
Distributed under the terms of the MIT license, "pytest-azurepipelines" is free and open source software
If you encounter any problems, please file an issue along with a detailed description.