Si tu aplicación necesita autenticación HTTP, pasa el nombre de usuario y contraseña como variables del servidor a createClient():
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'username',
'PHP_AUTH_PW' => 'pa$$word',
));
También lo puedes sustituir basándote en la Petición:
$client->request('DELETE', '/post/12', array(), array(), array(
'PHP_AUTH_USER' => 'username',
'PHP_AUTH_PW' => 'pa$$word',
));
Cuando tu aplicación está utilizando un form_login, puedes simplificar las pruebas, permitiendo a la configuración de tus pruebas usar la autenticación HTTP. De esta manera puedes utilizar lo anterior para autenticar en las pruebas, pero todavía tienes tu inicio de sesión para los usuarios a través del form_login normal. El truco consiste en incluir la clave http_basic en tu cortafuegos, junto con la clave form_login:
# app/config/config_test.yml
security:
firewalls:
your_firewall_name:
http_basic:
<!-- app/config/config_test.xml -->
<security:config>
<security:firewall name="your_firewall_name">
<security:http-basic />
</security:firewall>
</security:config>
// app/config/config_test.php
$container->loadFromExtension('security', array(
'firewalls' => array(
'your_firewall_name' => array(
'http_basic' => array(),
),
),
));