我有一个测试方法依赖于另一个本身在PHPUnit中使用数据提供程序的方法:
/**
* @dataProvider getFields
*/
public function testCanDoSomeStuff($parm1, $parm2) {
$result = my_func($parm1, $parm2);
$this->assertNotNull($result);
return $result;
}
/**
* @depends testCanDoSomeStuff
*/
public function testCanDoSomeMoreStuff($result) {
$this->assertNotNull($result);
}
Run Code Online (Sandbox Code Playgroud)
我也有getFields()数据提供程序功能,这里不需要显示.
依赖于数据提供者传递的第一个测试 - $result不是null.
我希望测试结果将作为$result参数传递给依赖测试.但是,该testCanDoSomeMoreStuff函数接收NULL参数并且测试失败.
更新
这个简单的测试用例演示了这个问题
class MyTest extends PHPUnit_Framework_TestCase {
/**
* @dataProvider myFunc
*/
public function testCanDoSomeStuff($value) {
$this->assertNotNull($value);
return $value;
}
/**
* @depends testCanDoSomeStuff
*/
public function testCanDoSomeMoreStuff($value) {
$this->assertNotNull($value);
}
/**
* Data provider function …Run Code Online (Sandbox Code Playgroud)