我试图找到在Symfony 2.6中加载我的灯具以运行功能测试的简单方法。这是一个相当普遍的问题,并且已被问过几次,但到目前为止我找到的答案并没有达到我的期望:
在这两种情况下(使用语句和手动代码)都有很多开销,我认为这是非常标准的任务。
另一方面,这些相同的帖子推荐LiipFunctionalTestBundle。为此,这是我在安装说明中阅读的内容:
编写fixture类并从bundle中调用loadFixtures()方法 Test \ WebTestCase类。请注意,loadFixtures()将在加载灯具之前从数据库中删除内容。“
所以我试过......
namespace AppBundle\Test\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class MyControllerTest extends WebTestCase
{
public function setUp()
{
$classes = array(
'AppBundle\DataFixtures\LoadUserData',
);
$this->loadFixtures($classes);
}
...
}
没有运气:
在第15行的/gitrepos/myproject/src/AppBundle/Tests/Controller/MyControllerTest.php中调用未定义的方法AppBundle \ Tests \ Controller \ MyControllerTest :: loadFixtures()
静态调用会产生相同的错误......
self:loadFixtures($classes);
我真的觉得我错过了很明显的东西。任何人都可以让我回到正轨?
答案 0 :(得分:2)
我可以看到你正在使用
Oro\Bundle\TestFrameworkBundle\Test\WebTestCase
作为基类,而我认为你应该使用
Liip\FunctionalTestBundle\Test\WebTestCase
能够调用此方法。