Page 1 sur 1

PureUnit -- automated testing framework

Publié : lun. 10/sept./2007 17:50
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

Publié : lun. 10/sept./2007 20:00
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.

Publié : mar. 11/sept./2007 8:16
par Progi1984
Bah personnellement, je n'ai toujours pas compris à quoi ca servait donc si une âme serviable avait l'obligence d'expliquer !

Publié : mar. 11/sept./2007 9:38
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 !

Publié : mar. 11/sept./2007 17:34
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:

Publié : mar. 11/sept./2007 17:44
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.

Publié : mar. 11/sept./2007 18:29
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:

Publié : mar. 11/sept./2007 18:35
par Backup
he les gars ! :twisted: ma fete c'est le 29 septembre pas avant !! :lol:

Publié : mar. 11/sept./2007 18:37
par Kwai chang caine
:wink: