Montag, März 25, 2013

Testumgebung mit XAMPP

Damit der nächste Launch der Web-Seite reibungslos über die Bühne geht, bastel ich momentan mit XAMPP an einer lokalen Testumgebung. Erreichbar soll die Seite unter der URL tippdiekistebier.localhost sein. Bleibt die Frage, was mich dazu motiviert hat. Prinzpiell könnte ich die Webseiten, die irgendwo im Dateisystem liegen, einfach mit einem Browser öffnen. In vielen Anwendungsfällen reicht das vermutlich auch aus. Probleme hatte ich in diesen Fällen vor allem mit Chrome und Javascript. Chrome scheint hier einigen Restriktionen zu unterliegen, wenn Webdateien direkt von der Festplatte ausgeführt werden sollen. Mit dem Firefox hatte ich diesbezüglich keine Probleme. Und um meinen Browsertest zu vervollständigen, bin ich bei dieser Lösung gelandet. Dazu habe ich die folgenden Schritte auf meinem Windows PC durchgeführt: Als erstes habe ich die HOSTS Datei angepasst und die folgenden Einträge dabei hinterlassen (Die Datei findet sich unter Windows hier C:\Windows\System32\drivers\etc\hosts bzw. unter Linux /etc/hosts)
localhost tippdiekistebier.localhost 
127.0.0.1 tippdiekistebier.localhost
Unter Windows 7 muss der Editor mit Administrator Rechten geöffnet werden. Im Editor dann die HOSTS Datei öffnen und bearbeiten. Der Dialog für das Öffnen von Dateien zeigt in der Regel nur Dateien mit der Endung .txt an. Um die HOSTS Datei zu finden, muss der Filter auf 'alle Dateien' gestellt werden. Im zweiten Schritt wird der XAMPP Apache so konfiguriert, daß er die URL tippdiekistebier.localhost mit dem entsprechendem Server Verzeichnis verbindet. In XAMPP gibt es die folgende Datei: XMAPP/Apache/conf/extra/http-vhosts. In dieser werden die folgenden Einträge hinterlegt:
## Diese Zeile wird auskommentiert
NameVirtualHost *:80

## Ein Verzeichnis definieren, wo die HTML Dateien liegen werden
## und auf dem die URL tippdiekistebier.localhost verweisen wird.
<Directory "C:/www/lab/tippdiekistebier.localhost">
    Order allow,deny
    Allow from all
</Directory>

## Hier wird der default definiert. D.h. mit
## http://localhost/xampp/ kommst du auf die von XAMPP
## bereit gestellten Inhalte. (Nicht vergessen die Pfade
## an die lokalen Begebenheiten anzupassen!)
<VirtualHost *:80>
    ServerAdmin postmaster@dummy-host.localhost
    DocumentRoot "C:/development/devtools/xampp/htdocs"
    ServerName localhost
    ServerAlias www.localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" combined
</VirtualHost>/Directory>

## Hier wird nun das Verzeichnis mit der URL verbunden.
<VirtualHost *:80>
    ServerAdmin postmaster@dummy-host.localhost
    DocumentRoot "C:/www/lab/tippdiekistebier.localhost"
    ServerName tippdiekistebier.localhost
    ServerAlias www.tippdiekistebier.localhost
    ErrorLog "logs/tippdiekistebier.localhost-error.log"
    CustomLog "logs/tippdiekistebier.localhost-access.log" combined
</VirtualHost>
Nach der Änderung der Konfiguration muss der XAMPP Apache neu gestartet werden. Falls der Apache nicht wieder hoch fährt, hat man sich vermutlich einen Vertipper eingefangen. In diesen Fällen ist ein Backup immer die erste Wahl!

UPDATE: 20.12.2014 Falls du dir nun mit dem Chrome Browser das Ergebnis betrachten möchtest, musst du die folgende Adresse im Browser eintragen:

tippdiekistebier.localhost/
Das letzte / ist dabei entscheidend. Fehlt dieses sucht Chrome im Internet nach der passenden Adresse und wird sie im Anschluss nicht finden.

AssertJ und java.util.List

AssertJ hat eine praktische Möglichkeit, Listen in JUnit Tests abzuprüfen. Insbesondere, wenn in der Liste komplexe Objekte abgelegt sind, s...