Jump to content

Run tests: Difference between revisions

From NusaATK
No edit summary
 
No edit summary
Line 1: Line 1:
Hier hoort informatie over automatische tests voor het [http://www.lastcraft.com/simple_test.php SimpleTest framework] voor Platform (>M6) en ATK (>5)
Hier hoort informatie over automatische tests voor het [http://www.lastcraft.com/simple_test.php SimpleTest framework] voor Platform (>M6) en ATK (>5)


== Uitvoeren van tests ==
== Run tests ==
Tests kan je uitvoeren door te browsen naar test.php in de map waar index.php ook staat.
Tests can be executed by browsing to test.php (same folder where index.php is).
   Dus als je voor het browsen naar [http://www.relaxnow.nl/ http://www.relaxnow.nl/] zou gaan
   So for browsing a site you go to [http://www.relaxnow.nl/ http://www.relaxnow.nl/]  
   en voor de beheeromgeving naar [http://www.relaxnow.nl/platform/admin/ http://www.relaxnow.nl/platform/admin/]  
   And for the admin you go to [http://www.relaxnow.nl/platform/admin/ http://www.relaxnow.nl/platform/admin/]  
   dan is de testomgeving te vinden op [http://www.relaxnow.nl/test.php http://www.relaxnow.nl/test.php]
   then you can find the test on [http://www.relaxnow.nl/test.php http://www.relaxnow.nl/test.php]


Alsmede door het commando '[[sph]] test' uit te voeren in de root van een Platform installatie.
WDE Only:
By excecuting '[[sph]] test' in the root of the site.


  '''TIP:''' sph test kent ook een --dontmail flag. Dus als je 'sph test --dontmail' uitvoert zal die niet mailen
  '''Info:''' sph test knows a flag --dontmail. So when you excecute 'sph test --dontmail' it will not mail
  naar de mensen waar die normaal gesproken naar zou mailen.
  the results.


ATK zal dan zoeken door heel de applicatie en zal alle .php en .inc bestanden waar 'test' in de bestandsnaam staat openen, de setup() functie uitvoeren, daarna alle functies uitvoeren die met test_ beginnen en als laatste de teardown() functie uitvoeren.
ATK zal dan zoeken door heel de applicatie en zal alle .php en .inc bestanden waar 'test' in de bestandsnaam staat openen, de setup() functie uitvoeren, daarna alle functies uitvoeren die met test_ beginnen en als laatste de teardown() functie uitvoeren.


== Selectief uitvoeren ==
== Run Selective ==


Als je alleen 1 enkele module wil testen, dan kun je test.php?atkmodule=modulenaam uitvoeren. Hij voert dan alleen de tests uit die hij in die module kan vinden.
Als je alleen 1 enkele module wil testen, dan kun je test.php?atkmodule=modulenaam uitvoeren. Hij voert dan alleen de tests uit die hij in die module kan vinden.
Line 31: Line 32:
Dit werkt ook met bestanden die zowiezo niet gevonden zouden worden als test bestand (m.a.w. bestanden zonder 'test' in de bestandsnaam). In dat geval zoekt hij zelf de bijbehorende testcases op.
Dit werkt ook met bestanden die zowiezo niet gevonden zouden worden als test bestand (m.a.w. bestanden zonder 'test' in de bestandsnaam). In dat geval zoekt hij zelf de bijbehorende testcases op.


Voorbeeld:
Example:
   test.php?class=atk.db.atkdb
   test.php?class=atk.db.atkdb


== Writing tests ==
== Writing tests ==
See: [[Writing tests]]
See: [[Writing tests]]

Revision as of 07:51, 14 May 2007

Hier hoort informatie over automatische tests voor het SimpleTest framework voor Platform (>M6) en ATK (>5)

Run tests

Tests can be executed by browsing to test.php (same folder where index.php is).

 So for browsing a site you go to http://www.relaxnow.nl/ 
 And for the admin you go to http://www.relaxnow.nl/platform/admin/ 
 then you can find the test on http://www.relaxnow.nl/test.php

WDE Only: By excecuting 'sph test' in the root of the site.

Info: sph test knows a flag --dontmail. So when you excecute 'sph test --dontmail' it will not mail
the results.

ATK zal dan zoeken door heel de applicatie en zal alle .php en .inc bestanden waar 'test' in de bestandsnaam staat openen, de setup() functie uitvoeren, daarna alle functies uitvoeren die met test_ beginnen en als laatste de teardown() functie uitvoeren.

Run Selective

Als je alleen 1 enkele module wil testen, dan kun je test.php?atkmodule=modulenaam uitvoeren. Hij voert dan alleen de tests uit die hij in die module kan vinden.

Als je enkel de tests van een bepaald bestand wil uitvoeren kan je ook

 test.php?include=class.test_eentest.inc

gebruiken in je URI, het test framework zal dan enkel dat bestand uitvoeren.

TIP: Als je de include variabele gebruikt met enkel het bestandsnaam dan moet het framework nog steeds heel de applicatie doorzoeken, bij grote Platform sites kan dit wel 8 seconden duren en veel geheugen kosten. Er is dan ook de optie om een test class direct te draaien: de 'class' variabele. Het framework zal dan het zoeken overslaan en enkel die testklasse draaien.

Voorbeeld:

 test.php?class=atk.db.testcases.test_atkdb

Dit zal ./platform/atk/db/testcases/class.test_atkdb.inc laden en uitvoeren voor een Platform installatie.

Dit werkt ook met bestanden die zowiezo niet gevonden zouden worden als test bestand (m.a.w. bestanden zonder 'test' in de bestandsnaam). In dat geval zoekt hij zelf de bijbehorende testcases op.

Example:

 test.php?class=atk.db.atkdb

Writing tests

See: Writing tests