我使用一种方法跟随课程:
class A
{
public function my( $myParam )
{
\modelClass::truncateTable('table_name');
return $myParam * 4;
}
}
是否可以模拟静态方法" truncateTable"?我想确保在"我的"方法。 PHPUnit 4.5版,所以" staticExpects"在此版本中不再可用(取决于此post)。
答案 0 :(得分:-1)
您可以使用将包装静态调用的Proxy类。
class ProxyModel{
public function truncateTable($tableName){
\modelClass::truncateTable($tableName);
}
}
之后,在使用静态调用的类中使用代理类方法。
class A{
private $model;
public function __construct(ProxyModel $model){
$this->model = $model;
}
public function my(){
$this->model->truncateModel("table_name");
}
}
现在,您可以轻松地模拟代理类并将其作为依赖项传递给您的类。