【发布时间】:2015-12-18 11:30:43
【问题描述】:
我正在尝试为我的 Symfony 2.7 项目配置测试类。我正在测试一个使用原则连接到数据库的控制器。
我终于设法扩展了 KernelTestCase 以避免这个致命错误:调用非对象上的成员函数“X”。但问题是:我试图通过使用additionProvider 来订购我的代码并将5 个测试函数简化为一个:
public function additionProvider()
{
$first=$this->service->getTranslation("","en");
return array
(
'original not created' =>array($first,"")
);
}
我想像这样使用它:
/**
* @dataProvider additionProvider
*/
public function testGetTranslation($expected, $actual)
{
$this->assertEquals($expected, $actual);
}
这是我的 setUp():
public function setUp()
{
self::bootKernel();
$this->em = static::$kernel->getContainer()
->get('doctrine')
->getManager()
;
$this->service = new \DictionaryBundle\Controller\UtilController($this->em);
}
我尝试像这样添加第一个测试,但错误再次出现,就像它无法访问存储库一样。那么,可以将 addittionProviders 与存储库功能一起使用吗?怎么样?
谢谢!
【问题讨论】:
标签: php symfony doctrine-orm phpunit