PureUnit -- automated testing framework

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

PureUnit -- automated testing framework

Message par comtois »

Pour l'instant je me contente de vous fournir l'info vue sur le forum anglais, quand j'aurai testé et surtout compris comment ça fonctionne, je serai peut-être en mesure d'en dire plus :)

Télécharger PureUnit
PureUnit is a testing framework with similar concepts as other xUnit frameworks like JUnit.
It can be used to test your procedures, includefiles or userlibraries or to
do so called "test driven development", where you first write the test for
a procedure and then implement the actual code until the test succeeds.

It comes as a simple set of macros for writing the testcode and a tool
to executed the tests and report the progress/status of the tests.
It is designed to run as a standalone GUI program, to be integrated into
the IDE as a tool or to run from the console, a script or a makefile.

PureUnit requires a 4.10 compiler or newer. (the beta versions will work)
Currently there is a Windows and Linux executable available. A version
for OSX will be provided when there is a 4.10 compiler for OSX.


Et voici un premier exemple de rapport

Code utilisé pour le rapport ci-dessus

Code : Tout sélectionner

  ; Set the options. This Code will be compiled/tested once normally and once with the OpenGl subsystem:
  ; 
  PureUnitOptions(NoUnicode, SubSystem[OpenGl])

  ; called once on program start
  ;
  ProcedureUnitStartup startup()
    UnitDebug("Startup...")
  EndProcedureUnit

  ; called once on program end
  ;
  ProcedureUnitShutdown shutdown()
    UnitDebug("Shutdown...")
  EndProcedureUnit

  ; Same goes for ProcedureUnitBefore / ProcedureUnitAfter

  ; Here comes our test procedure
  ;
  ProcedureUnit mytest()

    Assert(#True <> #False, "If this fails, the world has gone crazy :)")

    For i = 1 To 10
      Continue
      Fail("This point should never be reaced")
    Next i

    ; here our test will fail.
    Assert(#True = #False, "This is bound to fail!") 

  EndProcedureUnit
Source de l'information
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

C'est un outil de test unitaire, il existe plusieurs méthodes de développement dont le "Test Driven Development".
Cette méthode consiste a développer par micro étapes, chaque étape étant une fonctionnalité, cette étape est partagé en 3 processus de développement :

- faire un code minimalist, qui ne fait rien, mais qui plante le compilateur,
- faire un code minimalist, qui compile,
- faire un code qui compile et effectue la tache.

Ensuite, on passe à la suite, c'est du grosso modo et ce dont je me souvient.
Dans tous les cas, PureBasic a énormément besoin de ce genre d'outil pour offir un côté pro au langage et attirer un public de pro.
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Bah personnellement, je n'ai toujours pas compris à quoi ca servait donc si une âme serviable avait l'obligence d'expliquer !
ATHOW
Messages : 226
Inscription : mer. 29/déc./2004 16:54

Message par ATHOW »

En très gros : ça sert à faire des tests unitaires, c'est à dire à tester chaque procédure en vérifiant bien que les cas qui doivent bugger buggent, que les cas qui doivent envoyer un résultat renvoient bien le bon résultat, etc.

Je me sers de JUnit (tests unitaires pour le Java), et c'est dans le milieu professionel un passage obligé pour valider une application.
Je n'ai pas encore regardé ce PureUnit, mais pour ce langage non-objet (avec plein de Goto, de Gosub, etc, hein Dobro ?), j'ai peur que ce soit un tout petit peu moins efficace... bref je suis peut-être mauvaise langue, je jetterai un coup d'oeil !
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

ATHOW a écrit :En très gros : ça sert à faire des tests unitaires, c'est à dire à tester chaque procédure en vérifiant bien que les cas qui doivent bugger buggent, que les cas qui doivent envoyer un résultat renvoient bien le bon résultat, etc.

Je me sers de JUnit (tests unitaires pour le Java), et c'est dans le milieu professionel un passage obligé pour valider une application.
Je n'ai pas encore regardé ce PureUnit, mais pour ce langage non-objet (avec plein de Goto, de Gosub, etc, hein Dobro ?), j'ai peur que ce soit un tout petit peu moins efficace... bref je suis peut-être mauvaise langue, je jetterai un coup d'oeil !
Bah l'Dobro, c'est un vieux de la vieille. Il dessine encore ses sprites en matrices 8x8, 16 couleurs, comme sur le Thomson MO5. :mrgreen:
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

Chris a écrit :
ATHOW a écrit :En très gros : ça sert à faire des tests unitaires, c'est à dire à tester chaque procédure en vérifiant bien que les cas qui doivent bugger buggent, que les cas qui doivent envoyer un résultat renvoient bien le bon résultat, etc.

Je me sers de JUnit (tests unitaires pour le Java), et c'est dans le milieu professionel un passage obligé pour valider une application.
Je n'ai pas encore regardé ce PureUnit, mais pour ce langage non-objet (avec plein de Goto, de Gosub, etc, hein Dobro ?), j'ai peur que ce soit un tout petit peu moins efficace... bref je suis peut-être mauvaise langue, je jetterai un coup d'oeil !
Bah l'Dobro, c'est un vieux de la vieille. Il dessine encore ses sprites en matrices 8x8, 16 couleurs, comme sur le Thomson MO5. :mrgreen:
c'est dans les vieux pots que l'on fait les meilleurs soupes :p.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

les vieux pots
On ferais mieux de le traiter de vieux POTES plutot que de vieux POTS. :lol:
les meilleurs soupes
Parce qu'en plus le DOBRO, il est suceptible, je dirais meme SOUPE au lait. :lol: :lol:

On pourrait dire aussi que depuis le temps qu'il programme, c'est un "POTE AGER", c'est pour ça que l'on peut faire une bonne SOUPE :lol: :lol: :lol:

Mais il faut pas compter sur lui pour faire le ménage, meme avec 40 balais :lol: :lol: :lol: :lol:

Bon je sort :oops:
Dernière modification par Kwai chang caine le mar. 11/sept./2007 18:36, modifié 2 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

he les gars ! :twisted: ma fete c'est le 29 septembre pas avant !! :lol:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

:wink:
Répondre