在BeforeFeature中访问数据库

时间:2013-09-22 05:28:56

标签: symfony behat

如何通过BeforeFeature中的doctrine访问我的数据库?我无法获得我的实体管理器因为我的内核为空...这就是我正在尝试的:

/**
 * @BeforeFeature
 */
public static function cleanDatabase(FeatureEvent $event)
{
    $context = new FeatureContext(array());
    $context->thereAreNoUsersInTheDatabase();
}

它告诉我,我无法从非对象(内核)获取容器。当我手动创建FeatureContext时,为什么KernelAwareInterface不分配内核?

2 个答案:

答案 0 :(得分:0)

KernelAwareInterface只提供了一个方法“setKernel”方法,如果你实例化一个新的FeatureContext对象,你仍然需要手动调用

答案 1 :(得分:0)

您可以使用为您提供“@ reset-schema”注释的FriendlyContext。请参阅https://github.com/KnpLabs/FriendlyContexts/blob/master/doc/context-entity.md#reset-schema

请不要犹豫,阅读完整文档和不使用SymfonyExtension的代码。