Today I encountered a problem with our phpunit tests for our symfony2 project. We were having issues with the ‘ErrorException: Notice: A session had already been started – ignoring session_start()’.
So after some googleing I found out that we shouldn’t create our own mock like we did here
$session = $this ->getMockBuilder('Symfony\Component\HttpFoundation\Session\Session') ->setMethods(array('getId','get')) ->getMock(); $session ->expects($this->any()) ->method('getId') ->will($this->returnValue(md5(date('YmdHihs'))));
But symfony now has their own mock to create a session.
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; use Symfony\Component\HttpFoundation\Session\Session; $session = new Session(new MockArraySessionStorage());
Another problem solved in my day as a junior developer