作者:雅白斋ab | 来源:互联网 | 2023-05-25 11:24
是否可以在PHPUnit中创建一个不存在的类的模拟?
假设我有一些类创建另一个类的实例,例如:
class TaskRunner
{
public function runTasks()
{
// Run through some loop to get tasks and store each in $taskName
// Get task instance by given task name
$task = $this->getTaskInstance($taskName);
if ($task instanceof AbstractTask) {
$task->run();
}
}
protected function getTaskInstance($taskName)
{
// Just an example
return new $taskName();
}
}
我想运行单元测试runTasks
方法来检查创建的任务实例是否扩展了一些抽象类.
是否有可能不在文件系统中创建样本类来检查继承约束?
谢谢大家!
1> Sebastian Be..:
是的,可以存根/模拟PHPUnit不存在的类.只需$this->getMockBuilder('NameOfClass')->setMethods(array('foo'))->getMock();
创建一个NameOfClass
提供一种方法的非existant类的对象foo()
,可以像往常一样使用API进行配置.
不,PHPUnit不会抛出异常.你为什么不继续尝试而不是问?