我有一个抽象类如下:
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;
}
}
这是unittest:
$data = array('informations','data');
$result = Entity::SettingData($data);
$this->assertTrue($result);
我想测试方法SettingData,但是我得到了错误:
Undefined property: Entity::$logger
我该如何测试这种方法?
任何帮助都是真正的帮助。
答案 0 :(得分:0)
您无法测试抽象类。 您必须创建派生类。然后,您创建该类的对象,并使用可测试参数调用构造函数。 之后,您可以测试SettingData。