【问题标题】:Could I load fixtures from different entity managers with LiipTestFixturesBundle我可以使用 LiipTestFixturesBundle 从不同的实体管理器加载固定装置吗
【发布时间】:2020-07-03 19:03:35
【问题描述】:

我的实体由 Symfony 4 项目中的两个实体管理器管理,我想从两个连接加载固定装置以进行功能测试。例如:

class AdapterTest extends KernelTestCase
{
    use FixturesTrait;

    ...

    protected function setUp(): void
    {
        self::bootKernel();

        // Not working, just for example
        $this->loadFixtures([CounterFixtures::class], false, 'counter');
        $this->loadFixtures([CountryFixtures::class]);

        ...
    }

    ...
}

不幸的是,表被删除了,只加载了与最后一个实体管理器连接相关的表。

我使用 LiipTestFixturesBundle v1.9.1。

这个捆绑包是否支持它,或者你知道我该怎么做吗?

【问题讨论】:

    标签: symfony testing entitymanager fixtures liiptestfixturesbundle


    【解决方案1】:

    loadFixtures的第二个参数为$append,默认值为false

    它应该与此代码一起使用:

    class AdapterTest extends KernelTestCase
    {
        use FixturesTrait;
    
        ...
    
        protected function setUp(): void
        {
            self::bootKernel();
    
            // Different entity manager but append = false so it clears the database
            $this->loadFixtures([CounterFixtures::class], false, 'counter');
            // Default entity manager but append = true so existing data is kept
            $this->loadFixtures([CountryFixtures::class], true);
    
            ...
        }
    
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 2011-05-04
      • 2012-10-07
      相关资源
      最近更新 更多