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

WinDev Discussion :

Tests unitaires type xUnit


Sujet :

WinDev

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 66
    Points : 200
    Points
    200
    Par défaut Tests unitaires type xUnit
    Bonjour, je découvre WinDev et j'aurai souhaité savoir si il y avait parmi vous quelqu'un qui utilise les tests unitaires ?

    Je vient de faire un essai mais il semble que pour tester une méthode dans une classe, WinDev lance tout le projet ! Et le test se crashe sur la page de login du programme...

    Ce comportement vous semble normal ?
    J'ai déjà fait un peu de test unitaire en Java avec JUnit et je n'ai jamais eu ce problème.

    Stéphane

  2. #2
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Bonjour,

    voici l'ordre d"execution des init lors du test du projet :

    http://doc.pcsoft.fr/fr-fr/?2030026&...n-traitements-automatiquement-executes&q=Initialisation%20projet

    Pour tester une classe seule il faut qu'elle soit indépendante et si vous voulez aller plus loin dans ce sens il vous faudra organiser vos projets en composants et bibliothèques ce que vous deviez d'ailleurs faire ( ou auriez du faire) en java.

    Bon dev

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 66
    Points : 200
    Points
    200
    Par défaut
    Bonjour et merci Atsibat pour cette réponse.
    En fait je viens d'arriver sur ce projet. Les premiers sources datent de 2003. Donc si je comprend bien il faut que "j’éclate" les différents éléments en projet indépendant. Les fenêtres sont regroupées en plusieurs bibliothèques, par contre les classes sont dans le projet principal. C'est donc elle que je doit déplacer ?

    Stéphane

  4. #4
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Non...

    Entendons nous bien le Debug et le test ne sont pas équivalents.
    Vous devriez pouvoir debugger votre projet sans avoir de test à faire.

    Placez simplement un point d'arrêt dans le code d'initialisation de votre projet et déroulez le tout pas à pas jusqu' à résoudre votre crash.

    Si c'est un projet existant que vous reprenez veillez à ce qu'il soit déjà assez stable et que vous le maitrisiez avant de l'éclater. car l'éclatement demande une bonne maitrise des rouages de votre projet.

    Pour le découpage ce n'est pas systematique, surtout valable sur de gros projets ou sur une multitude de petits qui utilisent toujours un peu les mêmes blocs.

    Prenez un peu plus de temps pour maitriser ce qui est déjà codé avant de vous lancer c'est mon conseil.

    Bon dev

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 66
    Points : 200
    Points
    200
    Par défaut
    Merci Atsibat, je te rassure je n'ai pas l'intention de tout éclater de suite. Pour le débug il n'y a aucun soucis.

    Comme je l'ai dit je découvre WinDev mais je ne suis pas débutant non plus. Je rajoute des classes dans le projet pour des évolutions, donc j'ai naturellement pensé à coder les tests unitaires pour les différentes méthodes de ces classes. Malheureusement pour moi WinDev ne semble pas aussi souple que Java ou Dotnet dans le domaine des TU.
    D'ailleurs WinDev ne me semble pas du tout souple dans beaucoup de cas... mais pour l'instant je découvre.

    Si je souhaite rajouter des TU c'est pour améliorer la qualité et essayer d'éviter les éventuelles régressions que nos futures évolutions ne manqueront pas d'apporter. Donc il va falloir que je cherche une solution car pour l'instant ça ne semble pas possible en l'état...

    En tout cas merci pour ton aide,

    Stéphane

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Bonjour à tous,

    Pour des tests de non régression, windev fournit ses propres outils, intégré comme le Gestionnaire de tests automatiques, ou externes comme WDTest et WDAutomate.

    Dans le cadre d'une intégration continue, Windev propose la "fabrique logicielle" qui exécute un plan d'action, par exemple pour exécuter les tests.

    Plein de liens...

    Tests automatiques : Présentation
    http://doc.pcsoft.fr/fr-FR/?2019025

    Gestionnaire de tests automatiques
    http://doc.pcsoft.fr/fr-FR/?2019033

    WDTest : Présentation
    http://doc.pcsoft.fr/fr-FR/?3523002

    Tests automatiques sur un exécutable
    http://doc.pcsoft.fr/fr-FR/?2019029

    Fabrique Logicielle
    http://doc.pcsoft.fr/fr-fr/?1000019563

  7. #7
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 66
    Points : 200
    Points
    200
    Par défaut
    Bonjour OnePoint et merci pour ta réponse,

    j'ai bien vu ces documents, mais moi se que je voulais c'est uniquement faire des tests unitaires. La, quelle que soit la procédure utilisée, tu lances obligatoirement l'intégralité du projet...
    Dans mon cas, en lancement de l'application il y a une fenêtre de login. Les tests se crashent sur cette fenêtre...

    Quant à certain outils cités dans les documents je ne suis pas très positif. J'ai testé l'intégration continu, des fois ça marche, des fois non... Pourquoi, je ne sais pas !!!
    Bref on est encore très loin d'un Jenkins...

    Le GDS a parfois quelques petits ratés, bref c'est pas encore du GIT...

    Après les autres outils c'est pour du tests fonctionnels, donc je n'ai pas encore essayé.

    Stéphane

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Citation Envoyé par stephgil29 Voir le message
    mais moi se que je voulais c'est uniquement faire des tests unitaires. La, quelle que soit la procédure utilisée, tu lances obligatoirement l'intégralité du projet...
    Dans mon cas, en lancement de l'application il y a une fenêtre de login. Les tests se crashent sur cette fenêtre...
    Il n'est pas évident de déterminer si le test unitaire utilise tel composant, telle bibliothèque... d'une manière général, quel est le contexte d'exécution ?
    Alors pour Windev, le contexte d'exécution de ton test automatique c'est le projet.
    Et le lien donné par Atsibat détaille bien l'initialisation du projet.
    http://doc.pcsoft.fr/fr-fr/?2030026

    Apparemment, dans ta situation il s'agit d'ajouter des tests automatiques sur un projet déjà abouti, alors évidemment tu vas à contresens de la démarche du développement-tests.

    Qu'est-ce que c'est que cette fenêtre de Login dont tu parles ? Explique nous en quoi ça consiste ? Est-ce un fonctionnement automatique ?
    Le groupware utilisateur peut être ?

    D'ailleurs pour ce qui concerne les tests automatiques avec le groupware utilisateur, on peut lire dans cette page de la doc http://doc.pcsoft.fr/fr-FR/?2019026
    Citation Envoyé par Doc en ligne Windev

    Si votre application utilise le groupware utilisateur :
    • en mode manuel : si la fonction gpwOuvre est utilisée, il est nécessaire de remplacer cette fonction par la fonction gpwLogin dans le code du test.
    • en mode automatique : il est nécessaire de préciser dans la fenêtre de configuration du groupware utilisateur le login et le mot de passe à utiliser pour le mode test automatique.
    Avec la fonction EnModeTest tu peux déterminer si l'exécution concerne un test de procédure (par exemple) et par conséquent éviter certaines initialisations de "niveau projet".

    Quant aux fonctionnalités automatiques "au démarrage", il faut peut-être éviter de les employer et préférer des fonctionnalités programmées, que l'on peut maîtriser.

  9. #9
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Pour tester uniquement une procédure :

    Dans l'explorateur de projet
    tu déroules ta fenêtre ou ta classe ou ta collection de procédure
    puis tu sélectionne la procédure désirée et clic droit
    alors tu as un menu avec une entrée "tester la procédure"
    à ce moment là tu peux spécifier tes paramètres d'entrée
    seulement on ne peut pas spécifier un type complexe alors à toi de tricher un peu.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/09/2009, 09h59
  2. Tests Unitaires - Production de documents
    Par giviz dans le forum Test
    Réponses: 13
    Dernier message: 07/02/2005, 08h41
  3. Tests unitaires en C#
    Par Bouboubou dans le forum Test
    Réponses: 2
    Dernier message: 01/10/2004, 13h03
  4. [TESTS] Tests unitaires
    Par mathieu dans le forum Test
    Réponses: 4
    Dernier message: 08/01/2004, 12h59

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