1

我正在对模型类进行单元测试,我希望记录所有 Doctrine 查询。我的测试环境的 settings.yml 包含

logging_enabled: true

和我的剧本

$configuration = ProjectConfiguration::getApplicationConfiguration( 'frontend', 'test', true);
new sfDatabaseManager( $configuration ) ;

不过,我在任何日志文件中都看不到任何日志。

4

1 回答 1

2

因此,我通过在 Doctrine 分析器上使用事件侦听器找到了一种解决方法。

$profiler = new Doctrine_Connection_Profiler();
$conn = Doctrine_Manager::connection();
$conn->setListener($profiler);

/* tests go here */

foreach ($profiler as $event) {
    echo $event->getQuery() . "\n";
}

但是由于某种原因,相同的查询被打印了好几次(我确信它只执行一次)。另外,将查询日志与其他日志消息分离也不太方便。

于 2013-02-25T15:37:15.020 回答