Test unitaire

cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008 - 7 avril 2008 à 08:51
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 11 avril 2008 à 11:05
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

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
11 avril 2008 à 11:05
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.
1
BernieNoel68 Messages postés 92 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 20 novembre 2009 1
7 avril 2008 à 11:14
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 )
0
BernieNoel68 Messages postés 92 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 20 novembre 2009 1
7 avril 2008 à 11:17
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é!
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
7 avril 2008 à 13:53
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008
7 avril 2008 à 17:36
Bonjour


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

merci
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
8 avril 2008 à 13:43
"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%" />
0
cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008
9 avril 2008 à 09:30
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.
0
cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008
11 avril 2008 à 09:13
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
0
Rejoignez-nous