Test-Klassen für symfony2 im Eigenbau
Kommentare

Sebastian Göttschkes hat sich einige Klassen zum Testen von symfony2-Apps zusammengebaut, die wenig Overhead produzieren und performant arbeiten sollen. In seinem Blog-Artikel stellt er sie im Einzelnen

Sebastian Göttschkes hat sich einige Klassen zum Testen von symfony2-Apps zusammengebaut, die wenig Overhead produzieren und performant arbeiten sollen. In seinem Blog-Artikel stellt er sie im Einzelnen vor und beschreibt sie genauer.

Für seine UnitTests erweitert er PHPUnit um seine eigene Klasse UnitTestCase, mit der er im Falle eines Updates von PHPUnit alte Verhaltensmuster emulieren kann. Außerdem spart er auf diesem Weg Overhead. Sein ValidationTestCase basiert auf mehreren verschiedenen Klassen, die er aufgrund des massiven Overheads nicht über UnitTests abarbeitet. Deshalb startet er createKernel() aus der WebTestCase-Klasse. Container und Validator bleiben im Speicher und werden von der TestClass für weitere Objekte und Werte wiederverwendet.

Bei der Klasse FunctionalTestCase überprüft er die Datenbankzugriffe. Die statische Funktion initialize() in ihr kümmert sich um die Datenbank-CLI-Befehle. Ausgeführt werden diese in der TestClass unter setUpBeforeClass. Funktionale Tests werden hier auf einer blanken Datenbank durchgeführt. Die statische Funktion bringt den Vorteil mit sich, dass sie zu jedem Zeitpunkt aufgerufen werden kann, so lange noch kein Test auf einer neuen Klasse läuft. Aber der Aufruf ist auch dann möglich, wenn man Daten ändert, die sich dem Test in den Weg stellen.

Mit diesen drei Klassen sei Göttschkes‘ Arbeit an Test für symfony 2 noch nicht beendet. Für den Code könnt Ihr den Blog des Autors besuchen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -