使用 liip TestFixturesBundle 加载夹具时使用 setExcludedDoctrineTables 排除表

excluding tables with setExcludedDoctrineTables when loading fixtures with liip TestFixturesBundle

我正在尝试使用 Liip 测试包使用 FixturesTrait 的 loadFixtures() 方法从代码中加载固定装置 但是,我需要排除我不想在此过程中删除的资源 table。如果我理解正确,根据文档 https://github.com/liip/LiipTestFixturesBundle/blob/master/doc/database.md

使用 setExcludedDoctrineTables 方法应该很容易

不幸的是,当我 运行 此代码时, table RESOURCES 与所有其他资源一起被丢弃。

有人能看出原因吗?

回答我自己的问题,因为我刚刚发现了这个问题。有时你只需要睡个好觉:)

所以这段代码确实有效。 table RESOURCES 被丢弃,因为在实现测试的具体 class 中重新定义了 setUp 方法,并且该重新定义包括对 loadFixtures 的另一个调用,但是对于不同的数据 class 并且没有排除:

<?php

namespace App\Tests\Controller;

use App\DataFixtures\DiscountFixtures;

class DiscountControllerWebTest extends AbstractPantherTest
{

    function setUp():void
    {
        parent::setUp();

        $this->loadFixtures([
            DiscountFixtures::class,
        ]);

    }