Tôi có một lớp thử nghiệm trong đó một thử nghiệm chạy nhiều lần qua @dataProvider
và một thử nghiệm khác là @depends
trên phương pháp đầu tiên. Tuy nhiên, khi tôi được gọi là var_dump
về những gì cần được thông qua cho các thử nghiệm thứ hai, nó mang lại cho tôi một rắn NULL
, mà tôi đã không mong đợi.Tôi có thể sử dụng @depends để phụ thuộc vào thử nghiệm bằng cách sử dụng @dataProvider không?
Nói cách khác: điều này nên làm:
<?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);
}
}
?>
Xem https://github.com/sebastianbergmann/phpunit/issues/183#issuecomment-816066 để được giải thích về hành vi này – pedromanoel
Dữ liệu từ '@ dataProvider' đến trước, hơn là dữ liệu đến từ '@ phụ thuộc'. Đó là cách nó hoạt động cho tôi. –