Один из моих слушателей событий использует TokenStorageInterface
для доступа к текущему пользователю.
Во время моего KernelTestCase ( не WebTestCase) также вызывается этот прослушиватель событий, но теперь ни один пользователь не вошел в систему.
Как я могу ввести пользователя вручную в моем тесте?
Это не работает:
class MyTest extends KernelTestCase
{
/** @var User */
private $u; // loaded in setup()
public function testSimple()
{
$tokenStorage = static::$container->get(TokenStorageInterface::class);
$token = new UsernamePasswordToken($this->u->getUsername(),null, 'main', ['ROLE_ADMIN']);
self::$kernel->getContainer()->get('session')->set('_security_main', serialize($token)); // does not work
$tokenStorage->setToken('', $token); // does not work as well
}
}