在 Symfony 2 中加载用于功能测试的夹具:调用未定义的方法 MyControllerTest::loadFixtures())
Loading Fixtures for functional tests in Symfony 2: Call to undefined method MyControllerTest::loadFixtures())
我正在尝试找到将我在 Symfony 2.6 中的装置加载到 运行 功能测试的简单方法。这是一个很常见的问题,已经被问过几次了,但是到目前为止我找到的答案并没有达到我的预期:
- Some 依赖于 运行 在功能测试中使用命令行。
- Other 运行 手动定义每一个灯具,然后负责创建和删除数据库。
对于我认为非常标准的任务,这两种情况(使用语句和手动代码)都有很多开销。
另一方面,这些相同的帖子推荐 LiipFunctionalTestBundle。继续努力,这是我在安装说明中读到的内容:
write fixture classes and call loadFixtures() method from the bundled
Test\WebTestCase class. Please note that loadFixtures() will delete the contents from the database before loading the fixtures."
所以我尝试了...
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);
}
...
}
没有运气:
Call to undefined method AppBundle\Tests\Controller\MyControllerTest::loadFixtures() in /gitrepos/myproject/src/AppBundle/Tests/Controller/MyControllerTest.php on line 15
静态调用给出相同的错误...
self:loadFixtures($classes);
我真的认为我遗漏了一些非常明显的东西。任何人都可以让我回到正轨吗?
我可以看到你在使用
Oro\Bundle\TestFrameworkBundle\Test\WebTestCase
作为基础 class 而我认为你应该使用
Liip\FunctionalTestBundle\Test\WebTestCase
能够调用此方法。
我正在尝试找到将我在 Symfony 2.6 中的装置加载到 运行 功能测试的简单方法。这是一个很常见的问题,已经被问过几次了,但是到目前为止我找到的答案并没有达到我的预期:
- Some 依赖于 运行 在功能测试中使用命令行。
- Other 运行 手动定义每一个灯具,然后负责创建和删除数据库。
对于我认为非常标准的任务,这两种情况(使用语句和手动代码)都有很多开销。
另一方面,这些相同的帖子推荐 LiipFunctionalTestBundle。继续努力,这是我在安装说明中读到的内容:
write fixture classes and call loadFixtures() method from the bundled Test\WebTestCase class. Please note that loadFixtures() will delete the contents from the database before loading the fixtures."
所以我尝试了...
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);
}
...
}
没有运气:
Call to undefined method AppBundle\Tests\Controller\MyControllerTest::loadFixtures() in /gitrepos/myproject/src/AppBundle/Tests/Controller/MyControllerTest.php on line 15
静态调用给出相同的错误...
self:loadFixtures($classes);
我真的认为我遗漏了一些非常明显的东西。任何人都可以让我回到正轨吗?
我可以看到你在使用
Oro\Bundle\TestFrameworkBundle\Test\WebTestCase
作为基础 class 而我认为你应该使用
Liip\FunctionalTestBundle\Test\WebTestCase
能够调用此方法。