Maison >développement back-end >tutoriel php >Introduction à l'utilisation de think-phpunit pour les tests unitaires dans thinkphp3.2.3

Introduction à l'utilisation de think-phpunit pour les tests unitaires dans thinkphp3.2.3

不言
不言original
2018-07-11 14:06:362365parcourir

Cet article présente principalement comment utiliser think-phpunit pour les tests unitaires dans thinkphp3.2.3. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent se référer à la question

Description.

thinkphp3.2.3 ne fournit officiellement pas d'outils de tests unitaires. Au fur et à mesure que le projet grandit, les tests unitaires doivent être mis à l'ordre du jour pour garantir la robustesse du code. Après la pratique, https://github.com/snowair/think-phpunit est un bon choix, mais une const erreur non définie se produit lors de l'utilisation. Le message d'erreur spécifique est : syntax error, unexpected 'const' (T_CONST),

Analyse du problème

constLe mot-clé génère une erreur de syntaxe, indiquant que le PHPUNIT actuel ne prend pas en charge cette syntaxe. Consultez la documentation officielle. et trouvez que constFonctions nouvellement référencées pour php5.3. La cause première devrait donc être que la version PHPUNIT est trop basse.

La description officielle de l'adresse des constantes définies par const : http://php.net/manual/zh/lang...

Nous avons vérifié vendersnowair/composer.json et trouvé le code suivant :

  "require": {
    "php":">=5.4",
    "phpunit/phpunit": "^4.7"
  }

signifie que la version phpunit doit être >=4.7 && <5.0. La cause du problème est désormais confirmée. Aux phpunit erreurs de mots-clés causées par une version trop basse.

Solution :

Référez-vous à la section php composer contrôle de version de VCS pour modifier le numéro de version de phpunit.

  1. forkLe projet original est transféré dans votre propre entrepôt. Par exemple, l'adresse de mon projet après fork est : https://github.com/callme119/think-phpunit.

  2. https://github.com/callme119/think-phpunit fichier composer.json, changez la version de phpunit en ^5.0

  3. Modifier la partie VCS référencée par le projet. Ajout de l'attribut repositories.

Par exemple, la référence de mon projet est modifiée en :

{
    "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"
}
Adresse officielle du Compositeur VCS : https://docs.phpcomposer.com/...

Résumé

  1. Si vous souhaitez simplement utiliser snowair/think-phpunit normalement, veuillez vous référer à https://github.com/callme119/think-phpunit pour l'installation.

  2. Si vous rencontrez des problèmes de version dans d'autres projets, veuillez vous référer à cet article, utilisez github pour le résoudre et ajoutez l'attribut composer.json pour l'indiquer dans le repositories de votre propre projet. entrepôt spécifique.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment parcourir les dossiers pour obtenir le nom du répertoire d'images et le nom du fichier via php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn