Testing

Aus CavoxCms Wiki

Dies ist eine alte Version. Zeitpunkt der Bearbeitung: 23:38, 12. Nov. 2008 durch 80.219.105.178 (Diskussion).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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