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

 PHP Discussion :

Problème tests unitaire Doctrine


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Par défaut Problème tests unitaire Doctrine
    Bonjour à tous,

    Pour planter le décor, cela fait seulement 1 semaine que j'apprend Symfony.

    J'étudie à l'aide du tuto "Jobeet" (http://www.symfony-project.org/jobee...Doctrine/fr/08), j'en suis au jour 8 : les tests unitaires.

    J'ai bien compris la méthode pour tester "slugify" par exemple, mais les tests unitaires de Doctrine me bloquent.

    Mon fichier "test/unit/model/JobeetJobTest.php" n'éxecute pas les tests
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    include(dirname(__FILE__).'/../../bootstrap/Doctrine.php');
     
    $t = new lime_test(1);
     
    $t->comment('->getCompanySlug()');
    $job = Doctrine_Core::getTable('JobeetJob')->createQuery()->fetchOne();
    $t->is($job->getCompanySlug(), Jobeet::slugify($job->getCompany()), '->getCompanySlug() return the slug for the company');
    En retour dans le terminal :
    "PHP Fatal error: Call to a member function getCompanySlug() on a non-object in /home/julio/symfony/jobeet/test/unit/model/JobeetJobTest.php on line 8"

    J'ai même repris "bêtement" le tuto mais les tests ne s'éxecutent pas

    Merci d'avance pour vos réponses (soyez indulgeant, je ne suis q'un jeune débutant ).

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    L'erreur est simple.

    Tu appels la méthode getCompanySlug() sur une variable qui n'est pas un objet.

    Ceci implique que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $job = Doctrine_Core::getTable('JobeetJob')->createQuery()->fetchOne();
    ne te retourne pas un objet. Il retourne probablement un null.

    Fait un test dans un écho juste après la ligne de récupération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo (null == $job) ? 'est null' : 'doit passer ce code';
    Vérifie ta base, il est possible qu'une base particulière soit paramétrée pour les test dans le database.yml et que cette base soit vide. Si non, il est probable que la table soit vide.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Par défaut
    Hier soir j'étais fatigué...

    Ce matin ça va mieux, en effet la variable job était null, parce que le fichier de connexion à la BDD "Doctrine.php" doit charger temporairement des fixtures dans un dossier dédié.

    Je n'avais pas mis ces fixtures, du coup pas données, variable null, erreur...

    Merci Michel, c'est ta dernière phrase qui m'a mis la puce à l'oreille

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    J'ai déjà séché sur un coup pareille !

    Et vu que durant les tests les bases se remplissent et ce vides en permanence, ce n'est pas simple à gérer !

Discussions similaires

  1. Problème tests unitaires avec dom4J
    Par Hizin dans le forum Android
    Réponses: 2
    Dernier message: 12/06/2013, 12h55
  2. Problème : Test Unitaire CollectionView MVVM
    Par alves.seb dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 28/12/2012, 15h52
  3. Problèmes avec netbeans test unitaire
    Par dark0502 dans le forum NetBeans
    Réponses: 1
    Dernier message: 17/08/2011, 00h06
  4. [2.x] Passage à la PR12 : problème de test unitaire
    Par davidbouv dans le forum Symfony
    Réponses: 0
    Dernier message: 22/04/2011, 11h59
  5. [WD14] Tests unitaires: problème d'affichage
    Par Poupinelelapin dans le forum WinDev
    Réponses: 0
    Dernier message: 11/05/2010, 12h19

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