Php 如何在使用其他方法的抽象类中测试方法
我有一个抽象类,如下所示:Php 如何在使用其他方法的抽象类中测试方法,php,phpunit,Php,Phpunit,我有一个抽象类,如下所示: abstract class Entity { public function __construct($configFile, $logger, $database) { $this->configFile = $configFile; $this->logger = $logger; $this->database = $database; } public function SettingData(
abstract class Entity
{
public function __construct($configFile, $logger, $database)
{
$this->configFile = $configFile;
$this->logger = $logger;
$this->database = $database;
}
public function SettingData(array $info)
{
$this->logger->debug('setting the information'.serialize($info));
$info = $info.'debug';
$this->formatData();
return true;
}
}
以下是单元测试:
$data = array('informations','data');
$result = Entity::SettingData($data);
$this->assertTrue($result);
我想测试方法SettingData,但得到错误:
Undefined property: Entity::$logger
我应该如何测试这个方法
任何帮助都是必要的。您不能测试抽象类。 您必须创建一个派生类。然后创建该类的对象,并使用可测试参数调用构造函数。
之后,您可以测试设置数据。@AlexBlex否则如何调用该方法?无法实例化抽象类