我有一个遗留类,我很快想为它编写一些测试。不幸的是,我们在构造函数中有一个单例调用,而且目前没有足够的时间来重构它。
function __construct(){
$this->_dbConnect = DbConnect::getInstance();
// very long constructer (sigh) omitted below ...
}
这样做是否可以接受,以便获得可模仿的遗留代码:
function __construct(DbConnect $dbConnect = null){
$this->_dbConnect = isset($dbConnect) ? $dbConnect : DbConnect::getInstance();
// <snip>
}
最佳答案
如果你只想测试这个类-是的,这是正常的代码。
抱歉,您的问题已包含答案:)