Testing
Aus CavoxCms Wiki
Dies ist eine alte Version. Zeitpunkt der Bearbeitung: 23:38, 12. Nov. 2008 durch 80.219.105.178 (Diskussion).
Testen eines Modules:
class cTesting_System_General extends cTesting{
function testVersion(){
$result = cSystem::runCommand("version", "admin", "system", array());
$this->assertFalse("no errors", $result->hasErrors());
$this->assertEquals("result equals 2.0.1", $result->result["version"], "2.0.1");
}
}
Im Verzeichnis tests eines Modules sind alle Tests definiert. Alle in diesem Verzeichnis enthaltenen PHP-Dateien werden inkludiert und alle Klassen mit dem Prefix cTesting_* werden getestet.
Die cTesting Klasse und ihre Methoden:
class cTesting{
function assertTrue($title, $exp); // if(exp == false) -> error
function assertFalse($title, $exp); // if(exp == true) -> error
function assertEquals($title, $obj1, $obj2); // if($obj1 != $obj2) -> error
// internal methods
function testAll();
function display();
}
Ausführen der Tests (werden per HTML angezeigt). Testen muss in den Einstellungen eingeschaltet sein:
http://server/?cmd=system:system.test
Ausgabe (ist dann HTML in Farbe):
0 FAILS 3 OK =================================== cTesting_System - OK - no command errors - assertFalse - testVersion() cTesting_System - OK - no_title - assertFalse - testVersion() cTesting_System - OK - result equals 2.0.1 ['2.0.1' = '2.0.1' ?] - assertEquals - testVersion()
Entwicklungsstatus
Momentan können nur Commands getestet werden. Eine Unterstützung für Views ist in Arbeit...
TODO:
- views testen
OK:
- integrieren in Modul
- commands ausführen
- alles testen
