小编Ase*_*tib的帖子

如何使用PHPUnit测试模拟方法链

我正在尝试模拟一个链(嵌套)方法来返回所需的值,这是代码:

public function __construct($db)
{
$this->db = $db;
}

public function getResults()
{
return $this->db->getFinder()->find($this->DBTable);
}
Run Code Online (Sandbox Code Playgroud)

我试过这个模拟,但它不起作用:

$dbMock = $this->createMock(DB::class);
        $dbMock = $dbMock
            ->expects(self::any())
            ->method('getFinder')
            ->method('find')
            ->with('questions')
            ->will($this->returnValue('7'));
Run Code Online (Sandbox Code Playgroud)

任何解决方案如何解决这样的问题?

谢谢 .

php phpunit unit-testing mocking

7
推荐指数
2
解决办法
2811
查看次数

标签 统计

mocking ×1

php ×1

phpunit ×1

unit-testing ×1