小编iai*_*999的帖子

将依赖项与数据提供程序相结合

我有一个测试方法依赖于另一个本身在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)

php phpunit

11
推荐指数
1
解决办法
2796
查看次数

标签 统计

php ×1

phpunit ×1