Cómo integrar PHPUnit a un marco personalizado
-
20-08-2019 - |
Pregunta
Me gustaría integrar PHPUnit a mi marco. Con esto, quiero decir que tengo que inicializar un poco al principio, como configurar las cargas automáticas, antes de ejecutar las pruebas.
Me gustaría usar el corredor de prueba cli, y si lo entiendo correctamente, tengo que hacer una clase, que tenga un conjunto de funciones estáticas (), que devuelva una instancia de PHPUnit_Framework_TestSuite y agregue pruebas a este conjunto, como se indica en http://www.phpunit.de/manual/current/en /textui.html .
Hasta ahora se me ocurrió:
class MyTestFW {
public static function suite() {
// Do framework initialization here
$suite = new PHPUnit_Framework_TestSuite();
$suite->addTest(new SimpleTest());
// Add more tests
return $suite;
}
}
SimpleTest es una clase de prueba muy básica, que extiende PHPUnit_Framework_TestCase. Cuando ejecuto & Quot; phpunit MyTestFW & Quot ;, siempre obtengo:
PHPUnit 3.3.16 by Sebastian Bergmann.
E
Time: 0 seconds
There was 1 error:
1) (SimpleTest)
RuntimeException: PHPUnit_Framework_TestCase::$name must not be NULL.
¿Podría alguien ayudarme un poco por favor?
Solución
PHPUnit_Framework_TestCase::$name
se configura en el constructor TestCase, por lo que puede intentar esto:
$suite->addTest(new SimpleTest('simpletest'));
edit1:
No conozco tu código, así que no sé si esto ayuda.
Lo que generalmente veo es esto (como un reemplazo de lo anterior, no además):
$suite->addTestSuite('SimpleTest');
edit2: