carlescliment/handy-tests-bundle — pull request #3 by franmomu (2013-06-27 07:23:22+00:00)
Title: [WIP] Added handy_tests.factory tag

La idea es que este bundle registre el servicio handy_tests.factory_girl y para añadir factories en vez de depender del namespace, **hay que declarar cada factory como servicio** y cada factory inyecta sus dependencias, por ejemplo:

vendor.handy_test.user_factory:
class: Vendor\MainBundle\Factory\UserFactory
arguments: ["@doctrine.orm.entity_manager"]
tags:
- { name: handy_tests.factory, alias: user }

El **tag handy_tests.factory** indica que este servicio es una Factory y se añadirá automáticamente a FactoryGirl, el alias se usa para recuperar la factory desde el test:

$factory_girl = $client->getKernel()->getContainer()->get('handy_tests.factory_girl')
$person = $factory_girl->create('user');

Está en **WIP** porque no tengo claro cómo testearlo, para hacer esto me he basado en cómo registran los Type en Symfony2, si esta noche puedo sigo :smile:

Otra cosa que no tengo claro es si habría que añadir a la interfaz un método getName que devuelva el mismo nombre que el alias, en los Type y demás parecidos está así.

Lo malo también que la gente que esté usando el bundle tendrá que cambiar la configuración.