Testing with Sessions (Symfony2)
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
Source: http://symfony.com/doc/current/components/http_foundation/session_testing.html
All my tips have been moved to my blog www.pix-art.be so come check it out!
Written by Joeri Timmermans
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Php
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#