[Symfony] Utiliser le ‘container’ dans les tests unitaire automatisé (phpunit)

Salut les utilisateurs de Symfony. Petit snippets utile pour ceux qui démarre les testes unitaire avec Symfony.

Pour faire vos tests unitaires automatisé, vous aurez certainement besoin d’accéder a vos service via le gestionnaire de service de Symfony (ben ouai, c’est vachement pratique pour ne pas avoir a tout configurer à la mano 🙂 ). Pour cela vous devez hériter de ‘KernelTestCase’ et récupérer le container lors de l’initialisation.


class MaClasseTestTest extends KernelTestCase
{
	private $container;
	
	public function setUp()
	{
		self::bootKernel();
		
		$this->container = self::$kernel->getContainer();
	}


}

 

Vous pouvez alors utiliser le conteneur dans vos testes unitaire.


class MaClasseTestTest extends KernelTestCase
{
	private $container;
	
	public function setUp()
	{
		self::bootKernel();
		
		$this->container = self::$kernel->getContainer();
	}
	/**
	 * @test
	 */
	public function maMethodeATester()
	{
		$service= $this->container->get('mon.serice');
		$this->assertSame($service->get5(), 5);
	}
}

N’hésitez pas a échanger votre avis dans les commentaires !

Ajouter un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *