Einführung in die Verwendung von think-phpunit für Unit-Tests in thinkphp3.2.3

不言
Freigeben: 2023-04-03 06:12:02
Original
2351 Leute haben es durchsucht

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

Fragebeschreibung

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),

Problemanalyse

constDas 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 constNeu 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"
  }
Nach dem Login kopieren

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.

Lösung:

Informationen zum Ändern der Versionsnummer von php composer finden Sie im Abschnitt zur Versionskontrolle VCS von phpunit.

  1. forkDas ursprüngliche Projekt wird in Ihr eigenes Lager übertragen. Zum Beispiel lautet meine Projektadresse nach fork: https://github.com/callme119/think-phpunit.

  2. https://github.com/callme119/think-phpunit Datei „composer.json“, ändern Sie die Version von phpunit in ^5.0

  3. Ä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

  1. Wenn Sie snowair/think-phpunit nur normal verwenden möchten, lesen Sie bitte https://github.com/callme119/think-phpunit für die Installation.

  2. 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 im repositories 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage