我必须为使用由我们使用的 apache 扩展创建的资源类型的 php 类编写测试,但假设它是具有 mysql 资源类型的数据库类。
显然我想模拟那些全局函数,但是当类检查资源是否创建正常时如何伪造返回类型?
php 文档中的资源页面甚至有一条评论抱怨无法进行模拟测试。这是最后的答案吗?
假设我有(蹩脚的例子)代码:
class DB {
function init(){
$this->handle = mysql_connect('myserver');
if( get_resource_type($this->handle) != 'mysql' ) return false;
return true;
}
}
然后是通过嘲笑来测试成功和失败的测试mysql_connect
。