FOSUserBundle - PHPUnit - Verspotten eines Benutzers

Ich verwende Symfony mit dem FOSUserBundle und teste jetzt gerne einige Dinge wie:

Doctrine LebenszyklusController hinter Firewall

Für diese Tests muss ich ein bestimmter Benutzer oder zumindest eine Benutzergruppe sein. Wie verspotte ich eine Benutzersitzung, damit ...

Das Lebenszyklusfeld wie "createdAt" verwendet den angemeldeten BenutzerDer Controller verhält sich wie ein verspotteter Benutzer, der angemeldet ist

Beispiel

class FooTest extends ... {
    function setUp() {
        $user = $this->getMock('User', ['getId', 'getName']);

        $someWhereGlobal->user = $user;

        // after this you should be logged in as a mocked user
        // all operations should run using this user.
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage