【问题标题】:How to use PHPUnit administrative connection to query DB?如何使用 PHPUnit 管理连接查询数据库?
【发布时间】:2013-07-11 04:19:16
【问题描述】:

使用 PHPUnit 到数据库的管理连接将避免使用仅用于实现测试的 SQL 命令“污染”任何日志记录或我们应用代码内部发生的其他事情。

我想使用 $this->getConnection() 来获取与数据库的管理 PHPUnit 连接,而不是直接调用我们的 SystemDB::query() 函数,但我似乎无法获得正确的语法。任何想法将不胜感激。

【问题讨论】:

  • 模拟SystemDB 类和/或其他类。此外,当测试代码非常麻烦时,您还考虑重构代码,因为可测试性是良好代码的特征
  • 我在公司实习做单元测试,所以我目前无权重构应用程序代码
  • 哇!!告诉我在哪里可以找到这样的工作! (我所做的大多是在晚上未付)
  • 公司的名称是 Aladtec(总部位于威斯康星州),这就是我想出的办法。 $result = $this->getConnection()->getConnection(); $query = $result->query($sql); $array = $query->fetchAll();

标签: php unit-testing phpunit


【解决方案1】:

这行得通:

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

其中 $sql 是查询,getConnection() 是根据 phpUnit 手册页 http://phpunit.de/manual/current/en/database.html 实现的

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多