Describe tox.ini file
This commit is contained in:
parent
a82558a141
commit
fdea1e535c
|
@ -321,13 +321,28 @@ Ceci vous affichera non seulement la couverture de code estimée, et générera
|
||||||
|
|
||||||
==== Matrice de compatibilité
|
==== Matrice de compatibilité
|
||||||
|
|
||||||
Décrire un fichier tox.ini
|
L'intérêt de la matrice de compatibilité consiste à spécifier un ensemble de plusieurs versions d'un même interpréteur (ici, Python), afin de s'assurer que votre application continue à fonctionner. Nous sommes donc un cran plus haut que la spécification des versions des librairies, puisque nous nous situons directement au niveau de l'interpréteur.
|
||||||
|
|
||||||
[source,bash]
|
L'outil le plus connu est https://tox.readthedocs.io/en/latest/[Tox], qui consiste en un outil basé sur virtualenv et qui permet:
|
||||||
|
|
||||||
|
. de vérifier que votre application s'installe correctement avec différentes versions de Python et d'interpréteurs
|
||||||
|
. de démarrer des tests parmi ces différents environnements
|
||||||
|
|
||||||
|
[source,ini]
|
||||||
----
|
----
|
||||||
$ touch tox.ini
|
# content of: tox.ini , put in same dir as setup.py
|
||||||
|
[tox]
|
||||||
|
envlist = py27,py36
|
||||||
|
|
||||||
|
[testenv]
|
||||||
|
deps =
|
||||||
|
-r requirements/dev.txt
|
||||||
|
commands =
|
||||||
|
pytest
|
||||||
----
|
----
|
||||||
|
|
||||||
|
Démarrez ensuite la commande `tox`, pour démarrer la commande `pytest` sur les environnements Python 2.7 et 3.6, après avoir installé nos dépendances présentes dans le fichier `requirements/dev.txt`.
|
||||||
|
|
||||||
|
|
||||||
==== Configuration globale
|
==== Configuration globale
|
||||||
|
|
||||||
|
@ -339,11 +354,17 @@ $ touch setup.cfg
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
==== Dockerfile
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
==== Makefile
|
==== Makefile
|
||||||
|
|
||||||
Pour gagner un peu de temps, n'hésitez pas à créer un fichier `Makefile` que vous placerez à la racine du projet. L'exemple ci-dessous permettra, grâce à la commande `make coverage`, d'arriver au même résultat que ci-dessus:
|
Pour gagner un peu de temps, n'hésitez pas à créer un fichier `Makefile` que vous placerez à la racine du projet.
|
||||||
|
L'exemple ci-dessous permettra, grâce à la commande `make coverage`, d'arriver au même résultat que ci-dessus:
|
||||||
|
|
||||||
[source,makefile]
|
[source,text]
|
||||||
----
|
----
|
||||||
# Makefile for gwift
|
# Makefile for gwift
|
||||||
#
|
#
|
||||||
|
@ -363,6 +384,8 @@ coverage:
|
||||||
@echo "Testing of coverage in the sources finished."
|
@echo "Testing of coverage in the sources finished."
|
||||||
----
|
----
|
||||||
|
|
||||||
|
Pour la petite histoire, `make` peu sembler un peu désuet, mais reste extrêmement efficace.
|
||||||
|
|
||||||
|
|
||||||
==== The Zen of Python
|
==== The Zen of Python
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue