IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[PHPUnit] Chemin dans un test


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 597
    Points : 886
    Points
    886
    Par défaut [PHPUnit] Chemin dans un test
    Bonjour.

    Mon fichier de test ManageurDateTest.class.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    class ManageurTableTest extends PHPUnit_Framework_TestCase
    {
     
        public function testDates() {
            $this->assertSame("01/02/2019", \A2_modele\modele_commun\classes\ManageurDate::date_france("2019-02-01"));
        }
     
    }
    Je lance PHPUnit en ligne de commande
    $ phpunit -v ManageurDateTest.class
    et j'obtiens :
    There was 1 error:

    1) ManageurDateTest::testDates
    Error: Class 'A2_modele\modele_commun\classes\ManageurDate' not found

    /var/www/html/casid_is/test/ManageurDateTest.class.php:7
    mon arborescence :
    mon_projet
    mon_projet/test/ManageurDateTest.class.php
    mon-projet/src/A2_modele/modele_commun/classes/ManageurDate.class.php

    Je ne trouve pas le moyen d'indiquer à PHPUnit le bon chemin vers la classe ManageurDate ...j'ai aussi essayé sans le \ mais même erreur
    Participez vous aussi !
    Message utile
    Discussion résolue

  2. #2
    Membre averti Avatar de Freudd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 164
    Points : 377
    Points
    377
    Par défaut
    Bonjour,

    Il s'agit d'une erreur d'autoloading.
    Utilises-tu Composer ? As tu fais un dump-autoload ?

    Si ce n'es pas le cas je t'invites très fortement à utiliser cet outil qui est indispensable pour les développer PHP depuis déjà quelques années.
    https://getcomposer.org/

    Je t'invites également à renommer ton fichier ManageurDate.class.php par ManageurDate.php
    Et de déclarer un namespace en amont de ta classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    namespace A2_modele\modele_commun\classes;
     
    class ManageurDate {
        /* ... */
    }
    Avec ça tu devrais y arriver.

    Je t'invite également à te renseigner sur le système de fichier de configuration pour ton projet, ça te fera gagner du temps :
    https://phpunit.de/manual/6.5/en/app...iguration.html
    Mon projet CMS https://soosyze.com/
    Son repo github https://github.com/soosyze/soosyze

    Open source tools and free yes, but with elegance .

  3. #3
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 597
    Points : 886
    Points
    886
    Par défaut
    Bonjour et merci pour ton aide.
    • j'utilise déjà Composer
    • j'utilise déjà un phpunit.xml
    • j’utilise déjà les namespaces en amont de déclaration de mes classes.
    • Oui et non, c'était un pb lié à l'autoloading

    J'ai trouvé sur StackOverflow que quand on utilise phpunit en cli, la variable $_SERVER et donc $_SERVER['DOCUMENT_ROOT'] n'existe pas. Or, j'utilisais filter_input () dans mon autoload.php. Donc le chemin n'était pas proprement rédigé.
    C'est temporairement résolu avec la déclaration des chemins en dur et mon test me répond bien ce que j'attends.
    Participez vous aussi !
    Message utile
    Discussion résolue

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Test] Chemin dans un test de PHPUnit
    Par ypcman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 03/02/2019, 17h11
  2. [Hudson] PHPunit Infos dans des tests « En succès »
    Par overkris dans le forum Intégration Continue
    Réponses: 2
    Dernier message: 29/10/2010, 17h48
  3. Calcul de plus court chemin dans un graphe
    Par Elmilouse dans le forum Prolog
    Réponses: 6
    Dernier message: 21/03/2010, 20h26
  4. Passer en paramètre un chemin dans redirection
    Par croco83 dans le forum ASP
    Réponses: 5
    Dernier message: 07/05/2004, 08h30
  5. Ajouter des chemins dans la variable PATH
    Par Righetto Dominique dans le forum Linux
    Réponses: 7
    Dernier message: 21/03/2004, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo