【发布时间】:2015-02-09 00:25:21
【问题描述】:
我正在尝试为我们使用 PHPUnit 的一些非常古老的代码编写测试。我在这里给出了它的粗略结构,我正在尝试测试它从 ClassA 继承的 ClassB 的 isMember() 方法。它应该只是检查类中是否存在常量值。
我遇到的问题是它显然是一个受保护的构造函数,所以我不知道如何测试它,因为我在 PHPUnit 中不断收到受保护的构造错误,因为显然构造函数是受保护的。请告知我如何测试这个?
abstract class ClassA implements InterfaceA {
private $mValueList;
protected static $instance;
protected function __construct() {
}
protected static function getInstance(ClassA $obj) {
if (is_null($obj->instance)) {
$obj->instance = $obj;
}
return $obj->instance;
}
public function isMember($value) {
return isset($this->mValueList[$value]);
}
....more methods......
}
class ClassB extends ClassA {
public static function getInstance() {
return parent::getInstance(new self());
}
const CON1 = 'string1';
const CON2 = 'string2';
}
【问题讨论】:
标签: php unit-testing testing singleton phpunit