【发布时间】:2016-02-03 17:56:08
【问题描述】:
我正在使用 Symfony 中的功能测试来测试控制器操作。在这个测试中,我正在做这样的事情:
$client->request(
'PUT',
'/api/nodes/',
$data
);
之后我想测试是否已调度某个事件。我之前已经尝试过启用分析器(并相应地设置配置)并检查EventDataCollector中的数据:
$client->enableProfiler();
$client->request(
'PUT',
'/api/nodes/' . $data[0]['id'] . '?webspace=sulu_io&language=en',
$data[0]
);
/** @var EventDataCollector $eventDataCollector */
$eventDataCollector = $client->getProfile()->getCollector('events');
这按预期工作,但问题是$eventDataCollector 仅包含有关已实际执行某些侦听器的事件的数据。幸运的是,在这种特定情况下执行了一个事件监听器,但我希望它在没有附加任何事件监听器的情况下也能工作,因为我不能肯定这种情况会继续这样。
所以我的问题是,是否有一种方法可以测试是否已调度事件,即保存,即使没有附加事件侦听器。
【问题讨论】:
标签: php symfony testing phpunit