如何设置mysqli_result :: num_rows

时间:2016-11-03 22:20:17

标签: php unit-testing mocking tdd hhvm

出于模拟目的,我扩展了mysqli_result类:

class MysqliResultMock extends mysqli_result {
   ...
}

现在,我需要覆盖它为其名为'num_rows'的成员返回的内容,但不幸的是,使用$ this-> num_rows = 123;它根本不可设置(写这行时我遇到致命错误:

Fatal error: Cannot directly set the property MysqliResultMock::$num_rows in DbTest.php on line 13)

能以某种方式完成吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

哈哈,我找到了答案。

你只需要添加公共$ num_rows;明确地指向类,以使其可写。像这样:

类结果扩展了mysqli_result {

observar

...

然后你可以在一个实例上调用mysql_num_rows(),它将正确返回给定的num_rows。