Mockery einrichten und mit PHPUnit nutzen

26. Juni 2013 Softwaretest von Eric Kubenka (Kommentare: 0)

Bereits letzte Woche habe ich kurz erklärt, wie sich PHPUnit einfach und schnell mittels Composer in Projekte integrieren lässt. Anschließend bin ich ausführlich auf die ersten Schritte im Test-Driven-Development eingegangen. Doch so leicht wie die Prozesse dort anhand eines einfachen Beispiels dargestellt wurden, gestaltet sich das ganze in der Realität selten.

Oft kommt es vor, dass Objekte als Abhängigkeiten verwendet werden müssen. Da es beim Unit-Testing aber nur darauf ankommt die aktuell zu testende Einheit zu testen, ist es nötig diese Abhängigkeiten durch Mocks, auch Dummy-Objekte genannt, zu ersetzen. Ein gutes Framework dafür ist Mockery.

Weiterlesen...

Test Driven Development – Erklärung am Beispiel mit PHPUnit

19. Juni 2013 Softwaretest von Eric Kubenka (Kommentare: 2)

Während viele Außenstehende von PHP immer noch das Bild der zurückgebliebenen Sprache nach Wordpress-Code-Design haben, entwickelt sich die meist genutzte Programmiersprache langsam aber sicher, wie ich es sage, zum .NET-Klon.

Viele professionelle Projekte werden nach diversen Design-Pattern, wie MVC erstellt. Moderne PHP-Entwickler aber auch Beteiligte im Social Coding  greifen auf Softwaretests zurück, vor allem aber hält die testgetriebene Entwicklung nach und nach Einzug. Folgend möchte ich an einem Beispiel die Vorgehensweise beim TDD erläutern. Source-Code am Ende des Artikels.

phpunitrunfromcmd

Weiterlesen...

Quicktipp: Composer TransportException – unable to find socket transport ssl

12. Juni 2013 Allgemein von Eric Kubenka (Kommentare: 0)

[Composer\Downloader\TransportException]
The [...] file could not be downloaded: failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?

Mit dieser Exception wurde ich soeben beim Ausführen des Befehls composer update begrüßt, als ich die aktuellen Abhängigkeiten für meine Laravel 4-Spielwiese beziehen wollte.

Weiterlesen...

Laravel 4: Veröffentlicht - Code Bright und Laravel Testing Decoded erhältlich

28. Mai 2013 News von Eric Kubenka (Kommentare: 0)

Update: Und nun ist es endlich soweit. Um 21:23 Uhr deutscher Zeit ging die neue Webseite online.

Laravel 4 Header

Bereits seit einigen Wochen beschäftige ich mich in meiner Freizeit intensiv mit dem PHP MVC-Framework Laravel. Wie meinen Beiträgen zu diesem Framework zu entnehmen ist, probiere ich stets mir unbekannte Dinge aus und probiere mich an den neuen Features.

Weiterlesen...

Laravel 4: Dateien und Downloads vor unberechtigtem Zugriff schützen

22. Mai 2013 Web-Entwicklung von Eric Kubenka (Kommentare: 0)

Oft kommt es vor, dass die zum Download angebotenen Dateien nur für angemeldete Benutzer verfügbar sein sollen. Dazu kann das Dokumenten-Root Verzeichnis public von Laravel nicht verwendet werden, da generell jedem Anwender Zugriff auf alle Dateien in diesem Verzeichnis gewährt wird. Auch eine Abfrage des aktuell angemeldeten Benutzers kann dies nicht verhindern.

Wie muss das ganze nun gelöst werden, damit sichergestellt werden kann, dass der Benutzer auch wirklich angemeldet ist? Dies möchte ich folgend an einem Beispiel erläutern. Für die Ungeduldigen befindet sich ein Link zum kompletten Source-Code am Ende des Artikels.

Weiterlesen...

SQL Management Studio: Datenbank klonen / kopieren

15. Mai 2013 Allgemein von Eric Kubenka (Kommentare: 0)

Ab und an ist es notwendig Datenbanken  zu klonen, beziehungsweise zu kopieren. Vor allem dann, wenn eine bestehende Produktiv-Datenbank für Tests verwendet werden soll um beispielsweise kundenspezifische Probleme zu analysieren oder neue Funktionen mit dem realen Datenbestand zu testen ohne das Produktiv-System zu belasten.

Meine Aufgabe war es diverse Datenbanken von Testsystemen zu klonen um mit dem gesicherten Datenbestand aufgetretene Fehlerwirkungen nachzuvollziehen und die Ursachen zu ermitteln. Folgend möchte ich kurz erläutern wie sich Datenbanken über die Oberfläche des Microsoft SQL Management Studios kopieren lassen.

Weiterlesen...

Laravel 4 Beta Update: Soft Deletes und deren Verwendung

06. Mai 2013 Web-Entwicklung von Eric Kubenka (Kommentare: 0)

Laravel 4 befindet sich immer noch im Entwicklungsstatus und so kommen wöchentlich neue Funktionen dazu. Mit dem Updaten mittels Composer und dem Ausprobieren der neuen Funktionen kann man sich seine Zeit genüsslich vertreiben.

Seit dem jüngsten Update des Ende Mai erscheinenden Frameworks wurde nun das Feature Soft Delete für Models umgesetzt. Mit Soft Delete ist es nun nicht mehr nötig Einträge komplett aus der Datenbank zu löschen, sondern es wird lediglich ein Eintrag deleted_at in der Tabelle des Models hinzugefügt. Dadurch können Einträge beliebig gelöscht und mittels Restore-Funktion auch wiederhergestellt werden.

Weiterlesen...