je le cas de test suivant:problème avec les fournisseurs PHPUnit et données
include_once('../Logger.php');
class LoggerTest extends PHPUnit_Framework_TestCase {
public function providerLogger() {
return new Logger;
}
/**
* @dataProvider providerLogger
*/
public function testAddStream($logger) {
$this->assertTrue(false);
}
}
Quand je lance dans PHPUnit, je reçois:
PHPUnit 3.4.14 by Sebastian Bergmann.
..........
Time: 0 seconds, Memory: 5.75Mb
OK (1 tests, 0 assertions)
test échoue, mais il ne fonctionne pas. J'ai essayé d'avoir:
public function providerLogger() {
return array(new Logger);
}
Mais je reçois:
The data provider specified for LoggerTest::testAddStream is invalid.
J'ai essayé déclarant static
(comme dit le manuel), mais toujours pas de différence. Je me souviens d'avoir travaillé de la même manière auparavant, mais je peux me tromper. Qu'est-ce que je rate?
Merci d'avance pour votre aide.
PHPUnit 3.4.14 (extrait de PEAR) sur PHP 5.3.3
1 tests, ** 0 ** assertions. Votre test n'a même pas été appelé. Je parie que le problème n'est pas dans le fournisseur de données. – zerkms
En fait, si je supprime la chose @dataProvider, j'obtiens une erreur car testAddStream() nécessite un paramètre. Si je supprime complètement le paramètre, le test échoue comme il se doit. – netcoder
J'ai un problème d'utilisation de PHPUnit dans Zend Studio. Si j'inscris un espace de noms avec Zend_Autoloader, l'utilisation de @dataProvider provoque (tente de) charger le nom du test en tant que classe. Je vais jeter la chance que ces 2 problèmes sont liés. – Duncan