IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Présentation de la couverture de code en Python avec coverage [Tutoriel]


Sujet :

Python

  1. #1
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut Présentation de la couverture de code en Python avec coverage
    Bonjour à tous,

    Je vous propose une introduction à la couverture de code Python avec l'outil coverage. Par ici !!!

    Voir aussi les Cours et tutoriels pour apprendre la programmation Python

    N'hésitez pas à me laisser vos commentaires
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour deusyss,

    Bravo pour ce tuto!

    Effectivement, une des caractéristiques de Python, en tant que langage interprété, est que certaines erreurs pourront n'apparaître que lorsque le programme s'exécutera à cet endroit du code, ce qui pourrait arriver plusieurs mois après la distribution du logiciel: c'est très embêtant...

    Pour ma part, j'utilise de plus en plus des outils et méthodes d'analyse de codes (pylint et prog. perso), en plus des tests, pour assurer un minimum de qualité du programme, et coverage complètera ça très bien.

    A mon avis, il y a encore la place pour d'autres outils pour améliorer la qualité des programmes écrits en Python.

    Merci!
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Merci beaucoup pour ce retour Tyrtamos.

    Effectivement coverage ne suffit pas à lui tout seul. Je l'associe à Robotframework (voir mon tuto tout neuf ICI), à pep8.py et pylint.

    Développant sous Geany, je suis en train de créer un plugin dédié. J'ai un tuto en cours la dessus, cela devrait te plaire quand il sera prêt
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Merci.

    Je prends un exemple de ce qui me manquait et que j'ai partiellement comblé. Avec inspect, je fais ceci pour un module donné:

    - identifie tout ce qui est importé: module, classes, fonctions, variables
    - identifie tout ce qui est créé dans le module, avec les docstring: classes et méthodes, fonctions, variables
    - identifie toutes les importations inutiles
    - fait une proposition d'importations correctes

    Ce n'est pas tout à fait au point, mais ça m'aide déjà beaucoup pour clarifier tout ce qui est importations réduites au strict minimum, en particulier pour éviter l'affreux "from XXX import *". Et j'ai en même temps la documentation complète du module dans un fichier texte. Pour un projet composé de 50 fichiers Python, j'obtiens toutes ces analyses en quelques secondes.

    En fait, on trouve ou on fabrique des outils, mais il sera intéressant un de ces jours de parler de méthode, afin de définir dans quel ordre efficace il convient de les utiliser...

    Il y a du boulot!
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/02/2007, 10h05
  2. [DjUnit] Couverture de code
    Par maxtin dans le forum Qualimétrie
    Réponses: 1
    Dernier message: 12/02/2007, 14h16
  3. [Glade]Exporter le code en Python avec Glade
    Par Sebmox dans le forum GTK+ avec Python
    Réponses: 2
    Dernier message: 06/08/2006, 00h02
  4. enregistrer/lancer un code source python
    Par laulau69 dans le forum Général Python
    Réponses: 7
    Dernier message: 21/01/2006, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo