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

Langage Java Discussion :

création annotation équivalente a @test


Sujet :

Langage Java

  1. #1
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut création annotation équivalente a @test
    Bonjour,

    Je suis en train de créer des méthodes qui me permettront de changer mon jeu de données selon mes besoins.

    Pour cela, j'utilise la possibilité que JUnit offre sur Eclipse, d’exécuter des méthodes d'une façon unitaire.

    Le problème est que l'ajout d'une annotation @Test, au-dessus d'une méthode qui ne l'est pas vraiment, est un peut gênante!

    J'ai créé une annotation qui a la même implémentation que @Test, mais je ne sais pas comment faire pour que le runner de JUnit la prenne en charge ?

    Si non, est-ce qu'il y a un moyen de faire la même chose sans annotation ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Si tu ne veux pas faire un test JUnit, pourquoi pas faire un main ?

    Sinon les annotations ont été introduites sur JUnit 4. Essaye de renommer ta méthode pour qu'elle commence par "test" et éventuellement faire étendre ta classe de TestCase.

    Dernière possibilité créée une classe TestSuite dans laquelle tu as une méthode suite() qui construit les tests à exécuter. Tu pourrais par exemple utiliser tes propres annotations.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  3. #3
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Autrement ton besoin me fait penser que tu pourrais utiliser Test NG
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  4. #4
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    Citation Envoyé par Nemek Voir le message
    Si tu ne veux pas faire un test JUnit, pourquoi pas faire un main ?
    j'ai énormément de jeux de donnée a tester, un main par jeux de donné implique une classe par jeux de donnée ou bien commenter, dé-commenter a chaque fois.

    Citation Envoyé par Nemek Voir le message
    Dernière possibilité créée une classe TestSuite dans laquelle tu as une méthode suite() qui construit les tests à exécuter. Tu pourrais par exemple utiliser tes propres annotations.
    j'ai essayer de faire ma propre class TEST CASE? mais je n'arrive pas a trouver la méthode qui exécute que les méthodes annoté par @Test.

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    C'est TestSuite et non TestCase !

    En parcourant la JavaDoc j'ai trouvé ceci

    Je ne connaissais pas mais tu devrais commencer à jouer avec ça.


    Sinon je te le répète test NG est conçu pour jouer un scénario avec différents jeux de données.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  6. #6
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    malheureusement je suis limité dans le choix des technologie, donc TestNG c'est pas possible.

    Si non je n’essaye pas d’exécuter un suite de test, juste une méthode séparer du reste qui fais une mise a jour de ma base de donnée. profiter de la possibilité de junit d’exécuter une méthode sans que j'ai a me taper le main, ni a configurer le context.

    Finalement je souhaite améliorer la logique de mes classe on lui enlevant les annotation Test, car en cas de relecture de code CA met un doute de voir des annotation @Test sans assert.

  7. #7
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Si tu fais un programme Java il te faut un "main" ... Si tu veux exécuter des méthodes sans les appelés explicitement, il te faut faire de la réflection et avoir un point d'entrée.

    Si tu fais des jeux de données, c'est que tu fais des tests donc pourquoi JUnit ne te convient pas ?_?

    Le problème initiale me paraît tout à fait correspondre à l'utilisation de Parameterized.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  8. #8
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    je fais des jeux de donnée pour tester si mes pages web réagisse bien celons chaque jeux de donnée.

  9. #9
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Le plus simple créer une implémentation de l'interface Runnable pour chaque jeux de données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class DataSetLauncher
    {
       public static void main(String[] args) throws Throwable
       {
         Class<?> clazz = Class.forName(args[0]);
         Runnable dataSetInserter = (Runnable) clazz.newInstance();
         dataSetInsert.run();
       }
    }
    Tu appelles ce programme Java avec le nom complet de la classe à exécuter.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  10. #10
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    Je cherche a exécuter une méthode de la classe a la fois.

    si je fais ça je perd la possibilité d'utiliser l'interface graphique d’éclipse.

  11. #11
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Créer toi un Eclipse Java Editor template qui permet à partir d'une méthode sélectionnée de créer un main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void main(String[] args)
    {
    	new ${enclosing_type}().${enclosing_method}();
    }
    Ou alors tu te crées un feature/plugin Eclipse ... Le mieux et le plus rapide ce serait de bien organiser des classes et méthodes pour créer les jeux de données. Bien les documenter via des annotations spécifiques, et de créer une petite application qui par réflexion de propose une arborescence de jeux de données et d'appeler les méthodes en question.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  12. #12
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    je suis ok avec toi ... mais le fait de créer un pluging eclipse risque de me prendre un peut trop de temps, est ce que tu peut me conseiller une documentation a conseiller pour minimiser mon temps de recherche ...

  13. #13
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Est-ce que créées des scripts ne serait pas plus simple ?_?
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  14. #14
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    les class java de jeux de donnée sont déjà créer et marche déjà avec une anotation @Test ...

  15. #15
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Autant ne pas changer un truc qui marche
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  16. #16
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    oui mais je souhaiterais faire un truc qui entrainerais pas de mal entendu..

  17. #17
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    1. Ca reste du test
    2. Si le commentaire est explicite ca évite un malentendu.
    3. Le mieux c'est de faire un projet à part et de documenter son utilisation dans le cadre du développement. Les projets sur lesquels j'interviens, on a mis en place un "livret d'accueil" qui explique comment installer l'environnement, en quoi consiste les différents sous-projets, etc.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  18. #18
    Membre éclairé Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Par défaut
    OK.. j’emballe ...

  19. #19
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Si tu voulais faire un truc propre et réutilisable hors Eclipse, je rétière ma proposition de faire une petite IHM qui organisation des classes/méthodes et réflexion permet de construire une arborescence et de lancer une méthode sélectionnée.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'un psycho-test ludique - accompagnement
    Par ninouee dans le forum Débuter
    Réponses: 1
    Dernier message: 22/06/2015, 15h00
  2. Création d'un Blind Test cinéma en Ligne : FLEX MOVIE
    Par imanou1409 dans le forum Jeux web
    Réponses: 0
    Dernier message: 25/06/2014, 11h18
  3. Annotations déclencées durant test
    Par allstar dans le forum Général Java
    Réponses: 2
    Dernier message: 06/12/2013, 15h32
  4. [Projet] Création d'un bon test de recrutement PHP
    Par Invité dans le forum Langage
    Réponses: 25
    Dernier message: 07/09/2011, 10h22
  5. Création d'une base Test
    Par popsmelove dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/08/2008, 18h22

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