Test unitaire

Signaler
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008
-
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
bonjour


je suis débutante en delphi,

quelq'un peut medire comment faire les tests unitaires en delphi!


si c'est possible me donner un exemple.


merci

8 réponses

Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
27
J'ai l'impression que tu confonds tests unitaires et jouer un scénario.
Les tests unitaires permettent de vérifier le comportement et les résultats renvoyés par une méthode, un procédure ou une fonction.
L'exécution d'un scénario permet de simuler une ou plusieurs actions d'un utilisateur sur l'interface homme machine.
Puisque tu débutes en Delphi, je t'encourage à lire quelques tutos disponibles sur le net avant de t'engager plus loin : DUNIT, les tests unitaires sous Delphi.

Pour t'aider dans la rédaction des tests unitaires, je te recommande également d'installer et de réaliser les exemples fournis avec l'expert DUnit disponible ici : http://www.xpro.com.au/Freeware/DUnitWizard.htm
Cela constituera un bon point de départ et te fera gagner du temps pour la suite sachant que les principes resteront valables avec d'autres langages (CUnit en C, PHPUnit avec PHP, JUnit avec Java, etc).

NB : c'est ce même expert qui a été intégré par CodeGear dans les versions récentes de Delphi.

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
92
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
20 novembre 2009
1
Bonjour,

je ne sais pas si c'est ce que tu demande, mais la synthaxe d'un test en delphi est :

------------------------------
if (condition) then
begin
  //Instructions si la condition est vraie
end else
begin
  //Instructions si la condition est fausse
end;
------------------------------

où condition est de type booléene , par exemple le resultat d'un test ( valeur >= 10 )
Messages postés
92
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
20 novembre 2009
1
Désolé, j'ai lu trop vite!

Ta demande concernait les tests unitaires et non pas les tests conditionels (je me disais aussi...)

Malheureusement je ne peut donc pas t'aidé!
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008

Comme ton pseudo te réponds : avec DUnit !!
Pour un exemple, difficile à expliquer mais y'a des tutos de partout !

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008

Bonjour


en faite les tests unitaires sont les test pour chaque Unité créée, et pour tester les procédure de chaque unité.

merci
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
30
"les tests unitaires sont les test pour chaque Unité créée, et pour tester les procédure de chaque unité"

ben suffit d'appeler les procedures, fonctions, creer et tester les classes en conditions réelle d'utilisation.
et de verifier que pour chaque cas, tout fonctionne bien.

en gros ça reviens a faire :

theorie : si j'appuie sur l'interrupteur A, la lampe L s'allume.
pratique : et que la lumiere soit ... * Click * # POF # ... (Oo)' ... (-.-) ...

<hr size="2" width="100%" />
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008

bonjour


je vais t'envoyer le code de mon unité UGestCAB, qui a deux procédures: CodeRecu et DonOn CodeRecu (un évènement de TGestCAB)

procedure TGestCAB.CodeRecu( Sender : TObject;returnPacket :
string); //Procedure appelée lorsque un code est reçu sur le port série

 var

  CodeBarre : String;

  numLecteur : integer;

begin

    if (LeftStr(returnPacket, 2)= '/*') then exit; // message avertissement, on ignore

    // on récupère le n° de lecteur (les 4 premiers chars)

    numLecteur := StrToInt(LeftStr(returnPacket,4));

    // on récupère le code

    CodeBarre := MidStr(returnPacket, 5, Length(returnPacket)-4);

    DoOnCodeRecu(Sender, numLecteur, CodeBarre);

end;
{: lance l'evenement DoOnCodeRecu s'il est assigné}
procedure DoOnCodeRecu(Sender : TObject;NumLecteur : integer; sCAB: string);
begin

   if assigned(FOnCodeRecu) then

      FOnCodeRecu(self, NumLecteur,sCAB);

end;

dans UTestGestCAB où je dois tester mes deux procédures:

TTestGestCAB = class(TTestCase)

    private

       FGestCAB: TGestCAB;

    protected

        Procedure SetUp;override;

        Procedure TearDown;override;

    published

        Procedure TestCodeRecu(sender: TObject);

        procedure TestDoOnCodeRecu;

    end;
procedure TTestGestCAB.TestCodeRecu(sender: TObject);

var

  str1,str2, str3, str4, sCab: string;

  numlecteur: integer;

  EventLu : TEvent;

begin

  str1 := '00014587966785';

  str2 := '00020987654321';

  str3 := '00031234567890';

  str4 := '0001458796678';

  FGestCAB.OnCodeRecu(sender,Numlecteur,sCAB);

end;


//tester la procédure TestDoOnCodeRecu
procedure TTestGestCAB.TestDoOnCodeRecu;

begin


end;

ma question:

dans TestCodeRecu, j'ai affecté à str1,2,3,4 les différent code reçu,  et je ne sais quoi mettre ds TestDoOnCodeRecu.

il m'affiche une erreur Violation d'accès à l'adresse 00000000. Lecture de l'adresse 00000000


si quelq'un aura une aide à me proposer pour ce  teste unitaire!

désolée encore une fois je suis débutante en delphi, et il n' y a personne dans mon entourage qui peut m'aider.
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008

bonjour


je n'ai trouvé comment je doit tester;


car j'ai un évènement t DonOn CodeRecu, et une procédure code reçu qui récupère le returnPacket,

ma question à ce que un évènement on le teste ou non?

merci