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

avec Java Discussion :

Génération de doc contenant des exemples testés


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 98
    Points : 50
    Points
    50
    Par défaut Génération de doc contenant des exemples testés
    Bonjour à tous,

    Tout d'abord excusez-moi si je ne poste pas au bon endroit, je n'ai pas trouvé de forum réellement plus judicieux.
    Voici le problème auquel je suis confronté, je travaille sur une librairie Java portant sur la Programmation par contraintes. Nous proposons un ensemble d'outils pour résoudre des problèmes avec la ppc.
    Nous disposons d'une javadoc (peu ou mal utilisée), d'un ensemble de tests unitaires (orientés developpeur, assez complet) et d'exemples d'utilisation (orientés utilisateur).
    Voulant mettre à plat la doc, et avoir à maintenir dans le moins d'endroits possibles les évolutions, je me pose la question suivante:
    Est-il possible, à la génération de la Javadoc (par ex.) d'executer des tests (ca, ca me semble jouable) mais surtout, si ces tests passent, des les inclure dans la doc généré? Si c'est possible, connaissez-vous des solutions?

    A priori, je vois plutot une solution avec des annotations:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /**
     * Contrainte d'égalité, assure que v0 = v1
     * ...
     * @testToIntegrate : com.ppc.Exemples.exempleEQ()
     */
    public Constraint eq(Variable v0, Variable v1){
    //...
    }

    A la génération du code, on exectuerai (ou compilerai simplement) la méthode exempleEQ contenu dans la classe Exemples, et si ca passe, on l'inclu dans la doc.

    Mais peut-être existe-t-il d'autres solutions?

    Merci d'avance,

    Charles
    Je m'en fous, je suis fou!

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Petite question comme çà, est-ce que des outils comme maven, qui permettent de créer un site web contenant les résultat de tes unit test, la javadoc, des rapports d'analyse de code, etc, ne pourraient pas convenir à ta demande? C'est un peu long à mettre en place mais çà permet d'intégrer tout le processus de développement. Pour ce qui est de la javadoc, les outils javadoc (sans en connaitre les détails moi meme) founissent des options d'extensibilité. J'ai vu comme çà des javadoc où l'on réalisait en meme temps le diagramme uml de la classe ou du package. Mais de là à faire tourner des unit test en meme temps et inclure conditionnelement .... Je serais plutot chaud d'utiliser des trucs comem maven et de faire un lien vers la source de l'exemple (via les docs xref de maven). Parce que, honnêtement, faire de la javadoc et lancer des units tests, c'est des domaines totalement différents....

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Carlito_superheros Voir le message
    A priori, je vois plutot une solution avec des annotations:
    Dans le cas présent il ne s'agit pas d'annotation mais de taglet.
    Les annotations sont présent directement dans le code, tandis que les taglets font partis des commentaires JavaDoc.


    Mais la bonne nouvelle c'est que cela doit être possible : l'API de JavaDoc met en place une API Taglet, qui permet de les traiter directement lors de la génération de la JavaDoc !


    Concrètement : tu dois implémenter une interface Taglet qui prendra en compte ton @testToIntegrate. Lors de la génération de la javadoc, une méthode toString(Tag) de ton taglet sera exécutée avec les infos du tag. A toi d'exécuter le test et de générer le code HTML qui va bien, et qui sera inséré dans la javadoc

    Plus d'info : Taglet Overview

    Tu y trouveras l'exemple d'un @todo qui se contente d'affiche une information souligné en jaune


    a++

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 98
    Points : 50
    Points
    50
    Par défaut
    Merci à vous deux, je vais me pencher sur vos réponses.

    Charles
    Je m'en fous, je suis fou!

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/04/2014, 17h28
  2. [DATA] Test sur valeur numérique contenant des missing
    Par clao260 dans le forum SAS Base
    Réponses: 2
    Dernier message: 05/12/2013, 13h20
  3. Réponses: 8
    Dernier message: 13/02/2013, 00h35
  4. [PEAR] Alléger PEAR de la doc et des tests
    Par greg91 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 27/02/2012, 17h50
  5. Réponses: 11
    Dernier message: 08/02/2010, 11h13

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