Pregunta

Estoy recibiendo el siguiente error cuando intento ejecutar phpunit desde mi aplicación de marco MVC actual

Fatal error: Cannot redeclare class PHPUnit_Util_FilterIterator in /usr/local/pear/PHPUnit/Util/FilterIterator.php on line 162

He logrado rastrear ese error a una combinación de algunas cosas.

$paths = array();
$paths[] = '../m';
$paths[] = '../v';
$paths[] = '../c';
$paths[] = '/usr/local/pear';
set_include_path(implode(PATH_SEPARATOR, $paths));

cuando comento

    set_include_path(implode(PATH_SEPARATOR, $paths));

PHPUnit ejecuta pruebas

cuando comento

$paths[] = '/usr/local/pear';

entiendo

Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/TestCase.php' 

Si comento todos los demás directorios, guarde para el

$paths[] = '/usr/local/pear';

Obtengo el error "No se puede volver a comprar".

La única forma en que puedo ir a ejecutar las pruebas reales es si se ejecuto sin la declaración SET_INCLUDE_PATH y incluya manualmente todos los archivos de clase que se llaman por cualquier prueba de unidad individual.

¿Alguna idea?

Editar: Parece que hay un conflicto con la función __autoload.Todavía no estoy seguro de cómo abordar el problema.

¿Fue útil?

Solución

Bueno, como resulta, no tengo idea de por qué esto funciona realmente ... pero como lo hace, publicaré el resultado.

$paths[] = get_include_path();
$paths[] = '../m';
$paths[] = '../v';
$paths[] = '../c';
set_include_path(implode(PATH_SEPARATOR, $paths));

así que ahí vayas.Bueno, al menos, allí va en el caso de que también tiene este problema también :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top