1
使用数据库的PHPUnit管理连接可以避免使用仅用于实现测试的SQL命令“污染”我们的应用代码内部发生的任何日志记录或其他事情。我想使用$ this-> getConnection()来获取管理PHPUnit连接到数据库,而不是直接调用我们的SystemDB :: query()函数,但我似乎无法得到正确的语法。任何想法将不胜感激。如何使用PHPUnit管理连接来查询数据库?
使用数据库的PHPUnit管理连接可以避免使用仅用于实现测试的SQL命令“污染”我们的应用代码内部发生的任何日志记录或其他事情。我想使用$ this-> getConnection()来获取管理PHPUnit连接到数据库,而不是直接调用我们的SystemDB :: query()函数,但我似乎无法得到正确的语法。任何想法将不胜感激。如何使用PHPUnit管理连接来查询数据库?
这工作:
$result = $this->getConnection()->getConnection();
$query = $result->query($sql);
$my_array = $query->fetchAll();
其中$ SQL是查询的getConnection()根据主要的PHPUnit手册页http://phpunit.de/manual/current/en/database.html
模拟'SystemDB'类和/或其他类实现的。你也考虑重构你的代码,因为它测试它非常麻烦,因为可测试性是代码良好的特征 – hek2mgl
我在公司实习单元测试,所以我目前无权访问重构应用程序代码 –
哇!告诉我在哪里可以得到这样的工作! (大部分时间我都是在晚上不付钱的) – hek2mgl