Das Problem
Um meine Codequalität zu verbessern, habe ich beschlossen, zu lernen, wie ich meinen Code mithilfe von Unit-Tests anstelle meiner mittelmäßig besten Testlösungen teste.
Ich habe mich entschieden, PHPUnit mit Composer für eine persönliche Bibliothek zu installieren, mit der ich gemeinsame Datenbankfunktionen erreichen kann. Zuerst hatte ich keine Konfigurationsdatei für PHPUnit und als ich Befehle ausführte wie:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
Bitte beachten Sie, dass dies ein Terminalbefehl ist, daher habe ich die .phpErweiterung nicht eingefügt. Der oben erwähnte GeneralStringFunctionsTest ist eigentlich eine GeneralStringFunctionsTest.phpDatei.
Die Ausgabe ist das, was ich erwartet habe:
Zeit: 31 ms, Speicher: 2,75 MB
OK (1 Test, 1 Behauptung)
Ich habe dann versucht, eine Konfigurationsdatei zu verwenden, um die Testsuite automatisch zu laden, anstatt die Datei jedes Mal manuell eingeben zu müssen. Ich habe eine Datei erstellt, die phpunit.xmlin meinem Stammverzeichnis aufgerufen wurde, und Folgendes in die Datei eingegeben: http://pastebin.com/0j0L4WBD :
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Wenn ich jetzt den Befehl ausführe:
phpunit
Ich erhalte folgende Ausgabe:
PHPUnit 4.5.0 von Sebastian Bergmann und Mitwirkenden.
Konfiguration aus /Users/muyiwa/Projects/DatabaseHelper/phpunit.xml gelesen
Zeit: 16 ms, Speicher: 1,50 MB
Keine Tests ausgeführt!
Falls es hilfreich ist, sieht meine Verzeichnisstruktur wie folgt aus:
src -
Tests des Verzeichnisses der obersten Ebene (mit meinem gesamten Quellcode) - Verzeichnis des Verzeichnisses der obersten Ebene (mit allen meinen Tests, die genauso strukturiert sind wie mein Ordner src )
- Composer-Dateien von Drittanbietern
Ich habe auch die Composer JSON- und Lock-Datei sowie die PHPUNIT-XML-Datei in der obersten Ebene als Dateien.
Dinge, die ich versucht habe
- Ändern Sie das Verzeichnis in
phpunit.xmlzutests/GeneralStringFunctions - Ändern Sie das Verzeichnis in
phpunit.xmlzu./tests - Verschieben Sie die
phpunit.xmlDatei in dastestsVerzeichnis und ändern Sie dann das Verzeichnis./anstelle vontests. - Hinzufügen eines Suffix-Attributs zum Verzeichnis-Tag in
phpunit.xml, um "Tests" als explizites Suffix anzugeben.
tests/GeneralStringFunctions/GeneralStringFunctionsTestein Ordner oder ein Dateiname?