1

BeforeFeature の doctrine を介してデータベースにアクセスするにはどうすればよいですか? カーネルが null であるため、エンティティ マネージャーを取得できません...これが私が試みていることです:

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

非オブジェクト (カーネル) からコンテナーを取得できないことがわかります。その FeatureContext を手動で作成したときに、KernelAwareInterface がカーネルを割り当てないのはなぜですか?

4

2 に答える 2

0

KernelAwareInterface はメソッド「setKernel」メソッドを提供するだけです。新しい FeatureContext オブジェクトをインスタンス化する場合は、手動で呼び出す必要があります

于 2013-09-22T20:41:52.027 に答える
0

「@reset-schema」アノテーションを提供する FriendlyContext を使用できます。https://github.com/KnpLabs/FriendlyContexts/blob/master/doc/context-entity.md#reset-schemaを参照してください。

完全なドキュメントと SymfonyExtension を使用しないコードを読むことを躊躇しないでください。

于 2014-09-30T08:36:06.600 に答える