在没有PHPUnit Symfony2项目请求的情况下访问Profiler

时间:2014-07-13 22:19:38

标签: php symfony phpunit

如何在没有请求的单元测试环境中访问配置文件? 就我而言,我正在对数据访问层进行测试,在我的情况下使用其他DBAL,doctrine2,我想确保只针对性能问题进行一定数量的查询。不希望在这种情况下放置http请求。

如果我只是在下面执行代码,收集器不会收集任何内容,并且在最后一行会抛出异常,因为getQueryCount它尝试访问设置为null的数据成员:

public function testQueryCount() {

    /* @var $profile Profiler */        
    $em = $this->getContainer()->get('doctrine.orm.entity_manager');
    $profile = $this->getContainer()->get('profiler');
    $profile->enable();

    $eventDataAccess = new EventDataAccess($em);
    $e = $eventDataAccess->DoSomething(1);

    $a = $profile->get('db');
    $numMysqlQueries = $a->getQueryCount();
    $this->assertCount(1, $numMysqlQueries)
}

我在config_test.yml中找到了探查器:

doctrine:
    dbal:
        connections:
            default:
                logging: true

framework:
    profiler:
        only_exceptions: false
        collect: true

0 个答案:

没有答案