PHPUNIT - Me retourne la même instance d'une classe que j'instancie 2 fois

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHPUNIT - Me retourne la même instance d'une classe que j'instancie 2 fois

PHPUNIT - Me retourne la même instance d'une classe que j'instancie 2 fois

par stephweb » 12 févr. 2017, 19:21

Bonjour,

j'ai besoin d'aide SVP car je ne suis pas expert de PHPUNIT.

J'ai l'impression que quand j'instancie 2 fois mon Validator dans ma classe de test, que PHPUNIT ignore la 2ème instance...

Voici mon code :

Code : Tout sélectionner

<?php namespace Tests\Validation; use PHPUnit\Framework\TestCase; use Validation\Validator; class ValidatorTest extends TestCase { public function testIsNotValid() { $_POST['input_test'] = '1'; $validator = new Validator(); $validator->rules([ 'input_test' => [ 'alpha '=> true, // "$_POST['input_test']" doit être alpha ], ]); // "isValid()" doit retourner "false", et PHPUNIT me retourne bien "false" $this->assertFalse($validator->isValid()); // "count($validator->getErrors())" doit retourner "1", et PHPUNIT me retourne bien "1" $this->assertEquals(1, count($validator->getErrors())); } public function testIsValid() { $_POST['input_test'] = 'aaa'; $validator = new Validator(); $validator->rules([ 'input_test' => [ 'alpha' => true, // "$_POST['input_test']" doit être alpha ], ]); // "isValid()" doit retourner "true", mais PHPUNIT me retourne "false" $this->assertTrue($validator->isValid()); // "count($validator->getErrors())" doit retourner "0", mais PHPUNIT me retourne "1" $this->assertEquals(0, count($validator->getErrors())); } }
Donc mon test "testIsValid()" ne fonctionne pas correctement. Par contre, si je supprime le test "testIsNotValid()", le test "testIsValid()" se met à fonctionner...

Quelqu'un aurai une idée SVP ?

Merci beaucoup.