在测试类Symfony2中获取容器

时间:2015-02-03 10:45:41

标签: php unit-testing symfony phpunit containers

如何让容器能够在测试类中获得mys服务。我找到了require_once dir(__FILE__). '/...../AppKernel.php;的解决方案,但是当我进入WebTestCase课程并找到

protected static function createClient(array $options = array(), array $server = array())
{
    static::bootKernel($options);

    $client = static::$kernel->getContainer()->get('test.client');
    $client->setServerParameters($server);

    return $client;
}

在哪里内核启动,另一个类KernelTestCase所以我想知道我需要require_once AppKernel文件还是存在一些更灵活,更好的方法来获取服务容器?谢谢!

1 个答案:

答案 0 :(得分:5)

示例:

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class Test extends WebTestCase
{
   public function testCreate()
   {
      $client = static::$kernel->getContainer()->get('yourservice')
   }
}