Jump to content

Run tests

From NusaATK
Revision as of 07:46, 14 May 2007 by Sandy (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

Uitvoeren van tests

Tests kan je uitvoeren door te browsen naar test.php in de map waar index.php ook staat.

 Dus als je voor het browsen naar http://www.relaxnow.nl/ zou gaan 
 en voor de beheeromgeving naar http://www.relaxnow.nl/platform/admin/ 
 dan is de testomgeving te vinden op http://www.relaxnow.nl/test.php

Alsmede door het commando 'sph test' uit te voeren in de root van een Platform installatie.

TIP: sph test kent ook een --dontmail flag. Dus als je 'sph test --dontmail' uitvoert zal die niet mailen 
naar de mensen waar die normaal gesproken naar zou mailen.

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

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.

Voorbeeld:

 test.php?class=atk.db.atkdb

Writing tests

See: Writing tests