probleme de test unitaire - NOT_OK

0 views
Skip to first unread message

Johan Dindaine

unread,
Nov 23, 2009, 10:25:23 PM11/23/09
to symfo...@googlegroups.com
Bonjour la liste,

A cause de problemes d'execution de test dans les plugins, j'ai opté pour une architecture de test comme ceci

projet_symfony
  /app
  /cache
  /...
  /test
    /unit
      /plugin1/
        MaclassTest.php

Jusque la tout va bien.
Mais hier, j'ai lancé un test unitaire et je rencontre des erreurs NOT_OKAY alors que le test fonctionne bien:
Je m'explique mieu:
. si je lance le test en appelant le fichier de test, je n'ai pas de probleme:
$ symfony test:unit Maclasse
 Looks like everything went fine.
. si je lance l'ensemble des tests d'un coup j'ai par contre
$ symfony test:unit                    
...
MaclassTest .............................................not ok

D'ou celà peu bien venir?              

Alexandre SALOME

unread,
Nov 24, 2009, 1:11:18 AM11/24/09
to symfo...@googlegroups.com
hello,

  Regarde tes logs Apache, tu devrais retrouver l'erreur PHP en question.

Alexandre
--
Alexandre Salomé -- alexandr...@gmail.com

Johan Dindaine

unread,
Nov 24, 2009, 7:13:04 AM11/24/09
to symfo...@googlegroups.com
Le 24 novembre 2009 06:11, Alexandre SALOME <alexandr...@gmail.com> a écrit :
hello,

  Regarde tes logs Apache, tu devrais retrouver l'erreur PHP en question.

Je n'ai rien dans les logs.
 

Johan Dindaine

unread,
Nov 24, 2009, 7:16:14 AM11/24/09
to symfo...@googlegroups.com
pour faire simple:

$t = new lime_test(1, new lime_output_color());
...
mon code
...

$test = ($result == $expected) ? true : false;

$t->ok($test);

C'est juste un test pour vérifier si une chaine de caractere est valide.

Alexandre SALOME

unread,
Nov 24, 2009, 7:29:11 AM11/24/09
to symfo...@googlegroups.com
T'as plusieurs PHP d'installé ?

Tu peux nous donner le code testé ?

Et $test = ($result == $expected) ? true : false; tu peux l'abréger :

$test = ($result == $expected);

Johan Dindaine

unread,
Nov 24, 2009, 8:14:05 AM11/24/09
to symfo...@googlegroups.com, alexandr...@gmail.com
le code testé est le suivant:


$t = new lime_test(1, new lime_output_color());

$t->diag('check if SMS are sent correctly');

$testMessage = 'test SMS';
$smsRecipients = array('0611111111');

$smsTransport = new Message($emailRecipients, $testMessage, Message::SMS);
$result = $emailTransport->send();

$expected = '';
$expected .= 'recipients:' . implode(',', $smsRecipients) . PHP_EOL;
$expected .= 'message:' . $testMessage . PHP_EOL;


$test = ($result == $expected) ? true : false;
unset($expected,$result,$smsTransport,$testMessage);

$t->ok($test, 'check if the sms sent is the same as given');
//J'ai essayé avec $t->is($result, $expected); mais j'ai le même résultat.

Johan Dindaine

unread,
Nov 24, 2009, 8:53:27 AM11/24/09
to symfo...@googlegroups.com, alexandr...@gmail.com
Le 24 novembre 2009 13:14, Johan Dindaine <jojola...@gmail.com> a écrit :
le code testé est le suivant:


$t = new lime_test(1, new lime_output_color());

$t->diag('check if SMS are sent correctly');

$testMessage = 'test SMS';
$smsRecipients = array('0611111111');

$smsTransport = new Message($smsRecipients, $testMessage, Message::SMS);
une coquille s'est glissée dans mon email en faisant mon copier-coller. il faut remplacer $emailRecipients par$smsRecipients.

Johan Dindaine

unread,
Nov 26, 2009, 9:04:33 PM11/26/09
to Alexandre SALOME, symfo...@googlegroups.com
oui effectivement cétait un problème un comparaison de caractère. Pour une raison inconnue (pour le moment) en appelant le test unitaire directement j'avais un résultat positif en lançant tout le groupe j'avais des erreur.
J'ai refais l'ensemble de mes test en évitant concaténation, saut de ligne et compagnie et maintenant celà fonctionne parfaitement.

Le 25 novembre 2009 20:30, Alexandre SALOME <alexandr...@gmail.com> a écrit :
Hello,

  Un moyen d'avoir déjà une meilleure idée :

Ajoute un bête

file_put_contents("mytest.expected", $expected);
file_put_contents("mytest.result",   $result);

Et relance le des 2 façons, en regardant à chaque fois la sortie.

Tiens nous au courant ;)
Reply all
Reply to author
Forward
0 new messages