Testdaten generieren mit Faker

Unit-Tests sind ja eine feine Sache aber meistens mangelt es Ihnen in PHP an einer entscheidenden Grundlage: Testdaten. Wer kennt das nicht? Man baut ein Projekt auf und testet den Online-Shop dann mit einem einzigen Benutzeraccount. Das ist nicht nur blöd, sondern auch fahrlässig, denn niemand weiß so was passiert, wenn das System unter Last gerät. Bei Perl oder Ruby hat man es da einfacher, da gibt es entsprechende Möglichkeiten Testdaten zu faken. Bei PHP (wie eigentlich immer) fehlt es an Enterprise-Lösungen, aber immerhin gibt es jetzt dort Faker.

Screenshot von Faker bei GitHub

 

Das Projekt Faker ist prinzipiell eine Klasse, die Testdaten generieren und zur Verfügung stellen kann. Das fängt beim einfachen Lorem Ipsum an, und geht über komplexe Adressbestände bis hin zu validen Geo-Koordinaten. Natürlich muss man an der Stelle noch etwas programmieren, da Faker logischerweise nicht weiß, in welchem Format man die Daten wo speichern will. Trotzdem ist das Projekt Klasse, vor allem wenn man Unit-Tests betreibt, da man so einfach mal die Datenbank mit Test-Daten voll hauen kann.

Es existiert übrigens auch ein deutscher Fork, der deutschsprachige Daten erzeugt. Faker ist an dieser Stelle äusserst clever organisiert, da es die Sprache in Provider ausgelagert hat, also internationalisiert ist. Alles in allem ist Faker eine echt feine Sache die in keinem Zuhause fehlen sollte, vor allem dann nicht wenn man die Möglichkeit besitzt Faker in einen Unit-Test einzubinden. Ich bin mir aber sicher das der eine oder andere von euch auch ohne Unit-Tests etwas mit dem kleinen Helfer anzufangen weiß.

Ähnliche Beiträge


WebSockets mit PHP
WebSockets ist eine jener Techniken, die die Web-Welt nachhaltig revolutionieren könnten, da so Client-Server-Anwendungen recht einfach und vor allem ...


Eigener OAuth-Server in PHP
Aufgrund des gestrigen Artikels über Instagram und OAuth bin ich schnell auf die Idee gekommen das es ja Quatsch wäre für eigene APIs zukünftig kein O...


Test-Driven Development mit PHP
Mit phpUnit gibt es bereits seit Jahren eine Methode zur testgetriebenen Entwicklung in PHP. Gerade bei der agilen Software-Entwicklung ist diese Meth...


Lambda Funktionen in PHP 5.3
Das neue PHP wird über Lambda-Funktionen verfügen. Toll! Aber was ist das eigentlich? Nun ja, es ist in der Tat etwas schwer zu erklären, aber ich wil...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.