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

Test Discussion :

[TDD] Comment s'y prendre ?


Sujet :

Test

  1. #1
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut [TDD] Comment s'y prendre ?
    Bonjour à tou(te)s,

    Je ne suis pas sur d'être au bon endroit, mais je suis en train de me mettre au "Test Driven Development", et je me pose une question :

    Je fais ma classe TestMaClasse, ca plante
    Je fais ma classe MaClasse, ca marche
    Je suis content, mais, mais...

    Maintenant, comment j'utilise ma classe ? Je copie les sources ailleurs pour mon projet ? C'est à dire que j'ai un projet pour construire ma classe via le TDD, et un projet ou j'utilise ma classe ?

    Je suis un peu perdu sur ce dernier point.

    Merci d'avance

  2. #2
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut
    Moi je fais du TPD

  3. #3
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    euh, tu peux expliquer ???

  4. #4
    Membre confirmé
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Points : 568
    Points
    568
    Par défaut
    Bah TPD => Test plantage Debug

    Plus sérieusement, perso je n'écrit pas vraiment mes testes avant e je fais mon code puis je teste à la chaine les bouts de codes dont je ne suis pas vraiment sure du résultat.

  5. #5
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Bah plus sérieusement... J'attendais une réponse sérieuse...

  6. #6
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    Citation Envoyé par Mindiell Voir le message
    Je fais ma classe TestMaClasse, ca plante
    Je fais ma classe MaClasse, ca marche
    Je suis content, mais, mais...

    Maintenant, comment j'utilise ma classe ? Je copie les sources ailleurs pour mon projet ? C'est à dire que j'ai un projet pour construire ma classe via le TDD, et un projet ou j'utilise ma classe ?
    Non, l'idée, c'est que tes tests sont des clients de ta classe testée, donc c'est la même classe dans les deux cas.

    Après, tu peux placer le code de tes tests soit dans le même projet que ton SUT (system under test, pour coller à la terminologie en usage), soit dans un projet à part.

    Mais dans les deux cas, le SUT est le même

    Si ce n'est pas clair, éventuellement, montre un peu ton code

  7. #7
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Par client tu entends quoi exactement, un code qui utilise/implémente cette classe ?

    Ok, donc si j'ai bien compris, je fais mes classes à un endroit, puis je fait un projet de test pour toutes mes classes, et enfin je fait un projet pour mon application. Et chacun de mes projets utilise les mêmes classes stockées quelque part.

    Comme j'ai l'habitude de stocker mes classes sous mon projet, ca fait un peu bizarre, mais ca se comprend et c'est plus simple à maintenir.

    Merci,

    PS: pas de code encore, je réfléchis avant d'agir

  8. #8
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Je viens de relire certains tutos et explications sur le TDD. Si je veux placer tout sous un seul projet, je fais comment la distinction entre le main qui lance les tests et le vrai main du projet ?
    Ou alors le projet se construit avec les tests ?

    Ah ! je suis perdu !

  9. #9
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Tu travailles en quel langage ?

  10. #10
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Je travaille en C++
    Mon but étant de faire un jeu, je viens de lire quelques pages très intéressante sur le test d'une interface graphique (apparition et destruction de fenêtre de rendu pour chaque test ? etc...).

    Si je comprends bien, les tests permettent defaire avancer le projet, ils doivent donc faire partie du projet. Mon souci reste que je ne dois avoir qu'un seul main qui contiendra soit runnAllTest(), soit runGame() en gros ?

  11. #11
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par Mindiell Voir le message
    Je travaille en C++
    ...desole


    Le tooling pour les tests unitaires en c++ est assez pourri

    Tu voudras peut-etre passer sur ce tuto, qui explique comment utiliser cppunit, et peut-etre jeter un oeil aux exemples
    http://matthieu-brucher.developpez.c...ls/cpp/cppUnit

    Apres, pour le cote C++, je peux vraiment (mauis alors la, vraiment, vraiment, vraiment) pas t'aider

  12. #12
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Et encore, j'utilise Code::Blocks avec MinGW sur Windows, autant te dire que pour trouver des infos c'est assez complexe

    Cela dit, je n'ai pas réussi à compiler cppUnit, et j'utilise donc UnitTest++ qui n'est pas trop mal bien qu'un peu jeune.

    Pour le C++ ou .Net ou java, je ne pense pas que le langage bloque tant que cela, si ? En quoi mon problème de "main" ne se retrouve pas en .Net ?

  13. #13
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 76
    Points : 89
    Points
    89
    Par défaut
    Pour le C++ ou .Net ou java, je ne pense pas que le langage bloque tant que cela, si ? En quoi mon problème de "main" ne se retrouve pas en .Net ?
    Pour le java, je t'aurais conseillé d'utiliser Maven. Maven propose d'avoir un dossier de sources et un dossier de tests. Lorsque tu lances la commande mvn install, il va compiler tout, passer les tests unitaires, puis ne compresser que les classes utilitaires pour créer le jar/war. Tu peux même lui indiquer quelles bibliothèques sont utiles uniquement pour les tests, afin qu'ils ne les inclues pas dans le jar final.

    En C++, je n'ai aucune idée des outils de packaging, mais il en existe surement...

Discussions similaires

  1. [TDD] Comment s'y prendre ?
    Par Mindiell dans le forum Méthodes Agiles
    Réponses: 12
    Dernier message: 06/08/2009, 10h52
  2. [MySQL] Comment s'y prendre pour une expiration après deux jours ?
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/01/2006, 20h36
  3. MySQL sous linux comment s'y prendre?
    Par Doberman dans le forum Débuter
    Réponses: 4
    Dernier message: 10/01/2006, 11h58
  4. Site multilingue : comment s'y prendre ?
    Par sg-40 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 26/04/2005, 14h40
  5. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 11h17

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