Ho un test in cui un test viene eseguito più volte tramite un @dataProvider
e un altro test che @depends
sul primo metodo. Tuttavia, quando ho chiamato var_dump
su ciò che dovrebbe essere passato al secondo test, mi dà un solido NULL
, che non mi aspettavo.Posso usare @depends per dipendere da un test usando @dataProvider?
In altre parole: cosa dovrebbe fare questo:
<?php
class DevicesTest extends PHPUnit_Framework_TestCase
{
/**
* @dataProvider registerDataProvider
*/
public function testRegister($device, $supposedResult)
{
//do a bunch of tests
return array($device, $supposedResult);
}
public function registerDataProvider()
{
return array(array("foo", "foo"));
}
/**
* @depends testRegister
*/
public function testSaveDevicePreferences($deviceArr)
{
$this->assertNotEmpty($deviceArr);
}
}
?>
Vedere https://github.com/sebastianbergmann/phpunit/issues/183#issuecomment-816066 per una spiegazione su questo comportamento – pedromanoel
I dati di '@ dataProvider' vengono prima, che i dati provenienti da '@ depends'. È così che funziona per me. –