我正在尝试找到在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
能够调用此方法。