Dieser Artikel stellt hauptsächlich vor, wie man think-phpunit für Unit-Tests in thinkphp3.2.3 verwendet. Er hat einen gewissen Referenzwert. Jetzt kann ich ihn mit Ihnen teilen
thinkphp3.2.3 stellt offiziell keine Unit-Test-Tools zur Verfügung. Wenn das Projekt wächst, müssen Unit-Tests auf die Tagesordnung gesetzt werden, um die Robustheit des Codes sicherzustellen. Nach einiger Übung ist https://github.com/snowair/think-phpunit
eine gute Wahl, aber während der Verwendung tritt ein const
undefinierter Fehler auf. Die spezifische Fehlermeldung lautet: syntax error, unexpected 'const' (T_CONST),
const
Das Schlüsselwort führt zu einem Syntaxfehler, was darauf hinweist, dass das aktuelle PHPUNIT
diese Syntax nicht unterstützt. Überprüfen Sie die offizielle Dokumentation und finden Sie die const
Neu referenzierten Funktionen für php5.3
. Die Hauptursache dürfte also sein, dass die PHPUNIT
-Version zu niedrig ist.
Die offizielle Adressbeschreibung der durch const definierten Konstanten: http://php.net/manual/zh/lang...
Wir haben vendersnowair/composer.json
überprüft und den folgenden Code gefunden:
"require": { "php":">=5.4", "phpunit/phpunit": "^4.7" }
Das heißt, die phpunit
-Version muss >=4.7 && <5.0
sein. Die Ursache des Problems ist nun bestätigt. Zu phpunit
Keyword-Fehlern, die durch eine zu niedrige Version verursacht werden.
Informationen zum Ändern der Versionsnummer von php composer
finden Sie im Abschnitt zur Versionskontrolle VCS
von phpunit
.
fork
Das ursprüngliche Projekt wird in Ihr eigenes Lager übertragen. Zum Beispiel lautet meine Projektadresse nach fork
: https://github.com/callme119/think-phpunit
.
https://github.com/callme119/think-phpunit
Datei „composer.json“, ändern Sie die Version von phpunit in ^5.0
Ändern Sie den VCS-Teil, auf den das Projekt verweist. repositories
-Attribut hinzugefügt.
Zum Beispiel wurde meine Projektreferenz geändert in:
{ "name": "topthink/thinkphp", "description": "the ThinkPHP Framework", "type": "framework", "keywords": ["framework","thinkphp","ORM"], "homepage": "http://thinkphp.cn/", "license": "Apache2", "authors": [ { "name": "liu21st", "email": "liu21st@gmail.com" } ], "require": { "php": ">=5.3.0" }, "autoload": { "classmap": ["Application","ThinkPHP/Library"] }, "autoload-dev": { "psr-0": { "": "test" } }, "repositories": [ { "type": "vcs", "url": "https://github.com/callme119/think-phpunit" } ], "require-dev": { "snowair/think-phpunit": "dev-master" }, "minimum-stability": "dev" }offizielle VCS-Adresse des Komponisten: https://docs.phpcomposer.com/...Zusammenfassung
Wenn Sie
snowair/think-phpunit
nur normal verwenden möchten, lesen Sie bittehttps://github.com/callme119/think-phpunit
für die Installation.Wenn Sie Versionsprobleme in anderen Projekten haben, lesen Sie bitte diesen Artikel, verwenden Sie Github, um das Problem zu beheben, und fügen Sie das Attribut
composer.json
hinzu, um es imrepositories
Ihres eigenen Projekts anzuzeigen bestimmtes Lager.Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So durchsuchen Sie Ordner, um den Bildverzeichnisnamen und den Dateinamen über PHP zu erhalten
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von think-phpunit für Unit-Tests in thinkphp3.2.3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!