在Symfony 2中为功能测试的加载固定装置:调用未定义的方法myControllerTest :: loadFixT



我正在尝试找到在Symfony 2.6中加载固定装置的简便方法以运行功能测试。这是一个非常普遍的问题,已经问过几次,但是到目前为止,我发现的答案还没有达到我的期望:

  • 有些人依靠从功能测试内部运行命令行。
  • 其他手动运行的每个定义的固定装置,然后照顾创建和删除数据库。

在两种情况下都有很多开销(使用语句和手动代码),我认为这是非常标准的任务。

另一方面,这些相同的帖子建议使用liipfunctionsTestBundle。这样做,这是我在安装说明中阅读的内容:

写夹具类,并从捆绑中调用loadfixtures()方法 测试 WebTestcase类。请注意,LoadFixTures()将在加载固定装置之前从数据库中删除内容。"

所以我尝试了...

namespace AppBundleTestController;
use SymfonyBundleFrameworkBundleTestWebTestCase;
class MyControllerTest extends WebTestCase
{
    public function setUp()
    {
        $classes = array(
                'AppBundleDataFixturesLoadUserData',
        );
        $this->loadFixtures($classes);
    }
    ...
}

没有运气:

呼叫未定义的方法appbundle tests contranter mycontrollerTest :: loadfixtures()in/gitrepos/myproject/src/src/appbundle/tests/contrelller/contrelller/mycontrollerer/mycontrollertest.php 15

静态调用给出了相同的错误...

self:loadFixtures($classes);

我真的认为我缺少一些显而易见的东西。有人可以让我回到正轨吗?

我可以看到您正在使用

OroBundleTestFrameworkBundleTestWebTestCase

作为基础类,而我认为您应该使用

LiipFunctionalTestBundleTestWebTestCase

能够调用此方法。

最新更新