2013-07-12 46 views
1

使用数据库的PHPUnit管理连接可以避免使用仅用于实现测试的SQL命令“污染”我们的应用代码内部发生的任何日志记录或其他事情。我想使用$ this-> getConnection()来获取管理PHPUnit连接到数据库,而不是直接调用我们的SystemDB :: query()函数,但我似乎无法得到正确的语法。任何想法将不胜感激。如何使用PHPUnit管理连接来查询数据库?

+0

模拟'SystemDB'类和/或其他类实现的。你也考虑重构你的代码,因为它测试它非常麻烦,因为可测试性是代码良好的特征 – hek2mgl

+0

我在公司实习单元测试,所以我目前无权访问重构应用程序代码 –

+0

哇!告诉我在哪里可以得到这样的工作! (大部分时间我都是在晚上不付钱的) – hek2mgl

回答

0

这工作:

$result = $this->getConnection()->getConnection(); 
$query = $result->query($sql); 
$my_array = $query->fetchAll(); 

其中$ SQL是查询的getConnection()根据主要的PHPUnit手册页http://phpunit.de/manual/current/en/database.html