Entwicklung & Design

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

Seite 3 / 5

Noch ein Framework

Falls die zu testende Klasse ausschließlich statisch aufrufbare Funktionen zur Verfügung stellt, ist das Testen relativ einfach, da während der Testdurchführung weder Objekte instantiiert werden noch Datensätze aus einer Dantenbank beteiligt sind. Im Gegensatz dazu sind TYPO3-Extensions immer häufiger objektorientiert aufgebaut und greifen zum Großteil auf eine Datenbank zu.

Fixtures [2] bieten einen einfachen Weg, die benötigten Objekte zu instantiieren, und ein kleines Testing-Framework für die benötigten Dummy-Datensätze in der Datenbank erleichtert die Arbeit. Die Framework-Klasse ist in der Extension „tx_oelib“ zu finden und bietet unter anderem folgende Funktionalitäten:

  • Erstellen, Modifizieren und Löschen von Dummy-Datensätzen
  • Erstellen und Löschen von Relationen zwischen Datensätzen
  • Ein- und Ausloggen von Dummy-Usern
  • Automatisiertes Aufräumen aller Dummy-Datensätze
  • Fake-Mailer zum Testen von ausgehenden E-Mails
  • Konfigurations-Proxy zum Abrufen/Überschreiben von Einstellungen aus dem Extension-Manager
  • Header-Proxy, um die Ausgabe von HTTP-Errorcodes zu testen
  • Diverse Hilfsfunktionen

Diese Funktionen erleichtern bereits die Entwicklung von Tests, weitere Features, wie die Erstellung von Dummy-Dateien, sind bereits geplant.

Schreiten wir zur Tat

Das folgende Code-Beispiel zeigt einen realen Ausschnitt aus der „Seminar Manager“-Extension. Das Testobjekt ist die „Places“-Klasse, die einen Veranstaltungsort repräsentiert.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung