Test Driven Development (TDD) – Was steckt wirklich dahinter?

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

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

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 teste ich mit Singletons? weiterlesen

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: Wie verwende ich getMock()? weiterlesen

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 UnitTests mit DB-Simulation weiterlesen

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?

PHP und UnitTests wie fange ich an? weiterlesen