作者:黄骏捷 | 来源:互联网 | 2023-10-12 17:31
我有一个遗留类,我很快想为其编写一些测试.不幸的是,我们在构造函数中有一个单例调用,并且目前没有足够的时间来重构它.function__construct(){
我有一个遗留类,我很快想为其编写一些测试.不幸的是,我们在构造函数中有一个单例调用,并且目前没有足够的时间来重构它.
function __construct(){
$this->_dbCOnnect= DbConnect::getInstance();
// very long constructer (sigh) omitted below ...
}
这样做是可以接受的做法,以便拥有可模拟的旧代码:
function __construct(DbConnect $dbCOnnect= null){
$this->_dbCOnnect= isset($dbConnect) ? $dbConnect : DbConnect::getInstance();
//
}
解决方法:
如果您只想测试此类-是的,这是正常的代码.
很抱歉1行答案,但您的问题已经包含答案了:)