von Mario Rimann, 03.06.2008

Sauberer Code durch Unit Testing: Green Bar Feeling bei TYPO3-Extensions

Aus dem
t3n Magazin Nr. 12

Jetzt kaufen

Die zu testende Extension braucht ein Verzeichnis „tests“. Falls benötigt, kann darin auch gleich noch ein Unterverzeichnis „fixtures“ angelegt werden. Für jede zu überprüfende Klasse wird ein Test-Case als einzelne PHP-Datei in das erstellte „tests“-Verzeichnis gelegt. Diese Klassen werden später die einzelnen Test-Funktionen beinhalten.

Aufbau eines einfachen Test-Cases

class tx_extensionname_klassenname_testcase extends tx_phpunit_testcase {
protected function setUp() {
		// Für die Fixture – nur wenn benötigt.
	}
	protected function tearDown() {
		// Ebenfalls für die Fixture – nur wenn benötigt.
	}
	public function testSomeFunctionDoesSomething() {
		// Test Funktionalität
	}
	public function testSomeOtherFunctionDoesSomething() {
		// Test Funktionalität
	}
}

Listing 1

Bei diesem Grundgerüst ist darauf zu achten, dass die Klasse sich von „tx_phpunit_testcase“ ableitet. Als Testfunktionen werden ausschließlich die Funktionen erkannt, deren Funktionsname mit „test“ beginnt und die als „public“ markiert sind. Der Aufruf des Backend-Moduls PHPUnit lässt nun bereits die Auswahl und den Durchlauf des Test-Case zu. Das ist natürlich erst dann sinnvoll, wenn die oben gezeigten Testmethoden auf vorhandenen Code, wie beispielsweise eine bestehende Klasse, angewendet werden.

Seite:  1 2 3 4 5