thierryade-pytest (1.0.0)
Installation
pip install --index-url thierryade-pytestAbout this package
Plugin pytest pour Thierryade : marqueur covers(), propriétés JUnit, et poussée de couverture (Thierryade + rapport Argus).
thierryade-pytest
Plugin pytest pour Thierryade : relie automatiquement vos tests unitaires aux specs (ou aux raffinages) que vous avez documentées dans Thierryade, et pousse le résultat de chaque run CI directement vers l'outil.
Installation
pip install thierryade-pytest
Aucune configuration supplémentaire : le marqueur covers est
enregistré automatiquement (entry point pytest11), pas besoin de le
déclarer dans votre pytest.ini.
Usage
Dans vos tests, référencez le code Thierryade (une spec DRH-17 ou un
raffinage DRH-R-9) que ce test vérifie :
import pytest
@pytest.mark.covers("DRH-17")
def test_commit_transfer_locks_the_registration_and_sends_an_email():
...
Un test peut couvrir plusieurs codes : @pytest.mark.covers("DRH-17", "DRH-R-9").
Après un run normal avec --junitxml=junit.xml, les codes couverts sont
automatiquement sérialisés dans les <properties> de chaque
<testcase>. Poussez-les ensuite vers Thierryade (typiquement une étape
de CI, après le job de tests) :
thierryade-pytest push-coverage \
--junit-xml junit.xml \
--thierryade-url https://thierryade.stationmyr.net \
--thierryade-token "$THIERRYADE_UPLOAD_TOKEN" \
--commit-sha "$GITHUB_SHA" \
--ci-run-url "$CI_RUN_URL" \
--argus-report-out argus-thierryade-report.json
--argus-report-out est optionnel : s'il est fourni, un second fichier
JSON est écrit au format générique d'Argus (« format maison »), à
uploader avec l'action partagée
argus/upload-action :
- uses: https://git.stationmyr.net/argus/upload-action@v1
with:
token: ${{ secrets.ARGUS_UPLOAD_TOKEN }}
reports: custom argus-thierryade-report.json thierryade-coverage
Un code inconnu de Thierryade n'interrompt jamais le reste du push (il est juste signalé) ; une erreur de transport/HTTP, en revanche, fait échouer la commande -- ce mécanisme alimente une vraie base de données, pas juste un badge informatif.
--log-level debug|info|warning|error (défaut info) règle la
verbosité (requêtes HTTP, codes rencontrés, etc. en debug).
Développement
Voir le Makefile (make dev, make test, make lint, make tox).