Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2010, 16h39   #1
Membre du Club
 
Inscription : juin 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 78
Points : 42
Points : 42
Par défaut Erreur "Cannot access protected property"

Bonjour à tous,

Dans un fichier FctGeneriques.php j'ai ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
class FctGeneriques
{  
   public function VerifierPresenceMessage($TestsSelenium, $Message)
   {     
     try 
     {
        $TestsSelenium->assertFalse($TestsSelenium->isTextPresent($Message));
      } 
     catch (PHPUnit_Framework_AssertionFailedError $e) 
     {
        $TestsSelenium->captureEntirePageScreenshot("/home/julien/Images/testSaisirEntierementFormulaire", "");    
        array_push($TestsSelenium->verificationErrors, $e->toString());
     }
   }
}

Dans mon fichier popup.php j'ai ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
require_once "FctGeneriques.php";
 
class mestests extends PHPUnit_Extensions_SeleniumTestCase
{
   public function testSaisirEntierementFormulaire ()
   {
      $goTests = new FctGeneriques(); 
 
      $goTests->OuvrirJoomla($this);
      $goTests->OuvrirPopUpFormulaireMail($this);
      ...
      $goTests->VerifierPresenceMessage($this, "Cet e-mail n'a pas pu être envoyé");
   }
}
Le problème est que j'obtiens ce message d'erreur:

Citation:
Cannot access protected property mestests::$verificationErrors in /var/www/html/selenium/tests/FctGeneriques.php on line 65
car dans le fichier SeleniumTestCase.php la variable $verificationErrors est définie comme ceci:

Code :
1
2
 
protected $verificationErrors = array();
Comment faire pour utiliser la variable $verificationErrors correctement?

Merci d'avance pour votre aide.
Bundy*Al est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 18h19   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 127
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 127
Points : 7 271
Points : 7 271
Bonsoir,

Une propriété déclaré protected n'est accessible que dans le fichier de déclaration de la class, utilise private avec un getter pour l'accès.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 19h47   #3
Membre du Club
 
Inscription : juin 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 78
Points : 42
Points : 42
Bonsoir et merci pour ta réponse.

Quand tu dis utilise private, tu veux dire de passer la variable $verificationErrors en private?

Je ne peux pas passer cette variable à private car cette classe ne m'appartient pas, c'est une classe de phpunit.
Bundy*Al est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 14h16   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
Logiquement il doit y avoir une méthode getVerificationErrors ou quelque chose du genre dans ta classe, qui renvoie $this->verificationErrors.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 18h14   #5
Membre du Club
 
Inscription : juin 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 78
Points : 42
Points : 42
Bonjour,

Oui effectivement il y a une fonction getVerificationErrors() et sa marche parfaitement.

Merci a toi.

A+
Bundy*Al est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h14.


 
 
 
 
Partenaires

Hébergement Web