Vine a este post en busca de algo similar. tengo este caso de prueba:
/**
* test routing logic (numbers method returns an array of numbers and expected outputs to test)
* @dataProvider numbers
*/
function testRoute($input,$expected)
{
$route = new Route($input,'',false);
$route->route();
$this->assertEquals($expected,$route->routingResult);
}
y mi método de números es la siguiente:
/**
* read pairs of numbers (input <tab> expected) from tests.input separater by tab
* return an array like this: array(array(number1,expected1), array(number2,expected2), ...)
* provide this array to my tests by returning it
*/
function numbers()
{
$testcases = file('tests.input');
$tests = array();
foreach($testcases as $test_case)
{
list($input,$output) = explode("\t",$test_case,2);
$tests[] = array(trim($input),trim($output));
}
return $tests;
}
Lo que sucede es que se consigue una salida como esta de PHPUnit:
Starting test 'RouteTest::testRoute with data set #0 ('8596000000', 'rejected (dp not found)x')'.
F
Starting test 'RouteTest::testRoute with data set #1 ('8596000001', 'rejected (rejected by scheme)')'.
.
Starting test 'RouteTest::testRoute with data set #2 ('8596000003', '1599000003')'.
.
No lo hará te diga el resultado real de la función probada a menos que la prueba falle pero al menos puedas ver todos los valores afirmados.
La pregunta obvia ... ¿por qué? –
Esta es una solicitud inusual. La mayoría de la gente no querría hacer esto. Por esta razón, nada como esto sería implementado por PHPUnit. Tendría que hacerlo usted mismo. – ryeguy
Pregunta no relacionada, pero ¿por qué la necesitas? "normalmente", no se supone que produzcas resultados durante las pruebas, porque el objetivo es que se ejecute automáticamente (no se supone que un humano lea la salida si todo salió bien) –