【发布时间】:2015-09-18 23:36:11
【问题描述】:
我正在用 phpunit 为几个类编写一些测试。每个类都有以下方法:
function getDbh() {
if ($this->dbh === null){
$this->dbh = Slim::getInstance()->db->getConnection();
}
return $this->dbh;
}
但问题是,在第一次测试 slim 之后,创建了这个 Environment 单例,我不知道我可以在以下测试中使用它。
为了让我的具体问题更清楚一点,我的每个测试类都有这个方法:
public function testGetDbh_dbhIsNull()
{
$fixture = new testedClass();
$app = new Slim();
$DB = $this->getMockBuilder('DB')
->disableOriginalConstructor()
->getMock();
$DB->method('getConnection')->willReturn('connection');
$app->db = $DB;
$this->assertEquals($fixture->getDbh(), 'connection');
}
但从第二次测试开始,由于以下错误,测试失败:
1) GroupTest::testSlim
Failed asserting that 'connection' matches expected null.
知道如何在每个测试中使用 Slim 单例吗?谢谢
【问题讨论】: