Hoje encontrei um problema com nossos testes de phpunit para nosso projeto symfony2. Estávamos tendo problemas com ‘ErrorException: Notice: A session já foi iniciada – ignorando session_start ()’.
Depois de pesquisar no Google, descobri que não devemos criar nosso próprio mock como fizemos aqui
$session = $this
->getMockBuilder('SymfonyComponentHttpFoundationSessionSession')
->setMethods(array('getId','get'))
->getMock();
$session
->expects($this->any())
->method('getId')
->will($this->returnValue(md5(date('YmdHihs'))));
Mas o symfony agora tem seu próprio mock para criar uma sessão.
use SymfonyComponentHttpFoundationSessionStorageMockArraySessionStorage;
use SymfonyComponentHttpFoundationSessionSession;
$session = new Session(new MockArraySessionStorage());
Outro problema resolvido na minha época como desenvolvedor júnior
Fonte: http://symfony.com/doc/current/components/http_foundation/session_testing.html
Todas as minhas dicas foram movidas para o meu blog www.pix-art.be, então venha conferir!