tengo el siguiente caso de prueba:Problema con PHPUnit Proveedores de datos e
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);
}
}
Cuando corro en PHPUnit, me sale:
PHPUnit 3.4.14 by Sebastian Bergmann.
..........
Time: 0 seconds, Memory: 5.75Mb
OK (1 tests, 0 assertions)
prueba falla, pero no es así. He intentado tener:
public function providerLogger() {
return array(new Logger);
}
Pero consigo:
The data provider specified for LoggerTest::testAddStream is invalid.
me trataron declarando que static
(como dice el manual), pero todavía no hay diferencia.
Recuerdo haberlo trabajado de manera similar anteriormente, pero podría estar equivocado. ¿Qué me estoy perdiendo?
Gracias de antemano por su ayuda.
PHPUnit 3.4.14 (tomado de PEAR) en PHP 5.3.3
1 pruebas, ** 0 ** aserciones. Su prueba ni siquiera fue llamada. Apuesto a que el problema no está en el proveedor de datos. – zerkms
De hecho, si elimino el elemento @dataProvider, aparece un error porque testAddStream() requiere un parámetro. Si elimino el parámetro por completo, la prueba falla como debería. – netcoder
Tengo un problema al usar PHPUnit en Zend Studio, donde si registro un espacio de nombres con Zend_Autoloader, usar @dataProvider hace que (intente) cargar el nombre de la prueba como una clase. Voy a establecer probabilidades de que estos 2 problemas estén relacionados. – Duncan