Tests sind sinnvoll! Das hat jeder schon mal gehört und dann halt auch mal paar Tests geschrieben. War das dann schon „Test-getriebene Entwicklung“ (TDD)? Nein! Also was steckt dann tatsächlich dahinter? Wir werden das im Laufe dieses Artikels anhand des Katas zur Primfaktorenzerlegung durchspielen. Test Driven Development (TDD) – Was steckt wirklich dahinter? weiterlesen
Kategorie: UnitTests
PHPUnit – Einfacher Mocks erstellen mit getMockBuilder()
Zugegebenermaßen ist die Erstellung von Mocks mit getMock()
(hier ein Artikel dazu) durch die vielen Parameter dieser Funktion nicht ganz trivial. Deshalb gibt es praktischerweise einen Builder (?) der dies übernimmt. Welche Methoden dieser besitzt und wie dadurch euer Leben beim Unit-Testing vereinfacht wird erfahrt ihr hier. PHPUnit – Einfacher Mocks erstellen mit getMockBuilder() weiterlesen
PHPUnit – Übersicht der Methoden (Cheat Sheet)
Für euch Unittester da draußen, hier ein Cheat Sheet für den Alltag. Lohnt sich auch so zu lesen, um sich ein paar Anregungen zu holen. Wer kennt schon alle Funktionen auswendig. PHPUnit – Übersicht der Methoden (Cheat Sheet) weiterlesen
PHPUnit – Testen mit nativen PHP-Funktionen
Gelegentlich verwenden die zu testenden Methoden native PHP-Funktionen wie file_get_contents()
, die unerwünschte Nebeneffekte erzeugen. Wie wir darum herum kommen, könnt ihr im folgenden lesen. PHPUnit – Testen mit nativen PHP-Funktionen weiterlesen
PHP Unittests: Wie kann ich eine final Methode mocken?
Damit Mock-Objekte die instanceof
Prüfungen im zu testenden Code passieren können, müssen sie Kinder der simulierten Klasse sein. Aber als ebendiese Kindklassen können sie keine finalen Methoden überschreiben. In diesem Blogbeitrag werde ich euch zeigen, wie ihr trotzdem sauber testen könnt. PHP Unittests: Wie kann ich eine final Methode mocken? weiterlesen
PHP Unittests: Wie teste ich mit Singletons?
Das Problem mit Singletons ist, dass sie eine statische Variable enthalten, die über verschiedene Tests hinweg erhalten bleibt. Dazu kommt, dass sie protected/private ist und somit nicht einfach zurück gesetzt werden kann. In diesem Beitrag werden wir sehen, wie wir der Sache beikommen können.
PHP Unittests: Wie verwende ich getMock()?
Damit wir unseren Code sinnvoll testen können, müssen wir immer wieder Kopplungen zu anderen Klassen auflösen. Dies geschieht mit Mocks dieser Klassen. Um aber allen Ansprüchen gerecht zu werden, sind diese Mocks sehr mächtig und daher nicht immer einfach zu bedienen. Dieser Beitrag erklärt die Erstellung eines Mocks durch die Methode „getMock()“.
PHP UnitTests mit DB-Simulation
Testen ohne Datenbank ist zwar schon ganz nützlich, aber viele Funktionen basieren dann doch stark auf DB-Daten. Mocken wird oft sehr aufwendig wenn wir mit Frameworks arbeiten, die die Models für uns automatisch laden. Und es soll ja auch Funktionen geben, die erst ab 100 Datensätzen richtig warm laufen. Das will natürlich niemand mit einem Mock abbilden.
In diesem Beitrag beschäftigen wir uns also mit der Simulation einer Datenbank.
PHP und UnitTests wie fange ich an?
Wer schon mal ein System gepatcht hat und dann die Seite nur noch 500 sagen gesehen hat, wünscht sich, der Fehler wäre vorher aufgefallen. Also müssen jetzt sofort UnitTests her. Aber wo anfangen? Und wie bekomme ich nur die Kopplungen zur DB, zum Solr oder sonstigen Komponenten weg?