问题标签 [liiptestfixturesbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

symfony - 我可以使用 LiipTestFixturesBundle 从不同的实体管理器加载固定装置吗

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

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

我使用 LiipTestFixturesBundle v1.9.1。

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

0 投票
1 回答
196 浏览

php - 功能测试中的夹具对象引用不正确

功能测试类依赖于在夹具中创建的对象引用。但是,引用的 id 与实体管理器返回的对象的 id 属性不同。下面是一个演示这个问题的测试。

笔记:

  1. $this->setReference(...)使用时的错误与使用public const ...and时的错误相同$this->addReference(...)
  2. 测试中使用的对象引用似乎是非营利实体的下一个可用 id。
  3. 测试类是在更一般的测试类中观察到错误后创建的。
  4. 无论在运行测试类之前是否加载了固定装置,错误都是相同的。
  5. 该应用程序使用 Symfony 5.1.2 并更新了所有依赖项。

测试类:

测试结果:

NonprofitFixture(其他灯具可能不相关):

framework.yaml 摘录:

dama_doctrine_test_bundle.yaml:

从 app.db 导出 csv:

0 投票
1 回答
71 浏览

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

我正在尝试使用 Liip 测试包使用 FixturesTrait 中的 loadFixtures() 方法从代码中加载夹具但是,我需要排除我不想在此过程中删除的 RESOURCE 表。如果我理解正确,这应该很容易根据文档https://github.com/liip/LiipTestFixturesBundle/blob/master/doc/database.md使用 setExcludedDoctrineTables 方法

不幸的是,当我运行此代码时,表 RESOURCES 与所有其他表一起被删除。

任何人都可以看到为什么?

  • 不确定这是否相关,但我在单独的 docker 容器中使用 mysql db。

    }

0 投票
0 回答
91 浏览

symfony - Symfony 功能测试:第二次调用 $client->request(),无缘无故地改变了测试结果

我在每次测试运行之前使用Liip\FunctionalTestBundleLiip\TestFixturesBundle加载我的固定装置,以获得一致的测试设置。

这是一个执行时失败的测试:

一场比赛需要一定数量的积分。测试断言,进入游戏后,用户的积分比进入前少。

如果删除 line $client->request('GET', '/');,则测试通过。如果不是,则测试失败并显示消息

只要$client->request()之前有另一个调用$client->request('GET', '/game/2/enter');,无论请求哪个页面,测试都会失败。

为什么?

0 投票
1 回答
863 浏览

symfony - 升级到 Symfony 5.3 时,服务“...”依赖于不存在的服务“property_accessor”

我们对捆绑包https://github.com/liip/LiipTestFixturesBundle/tree/2.x有问题(请注意,我是该捆绑包的维护者之一,问题不在于在项目中使用该捆绑包)

2.x分支上的测试因以下错误而中断:

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:服务“nelmio_alice.property_accessor.std”依赖于不存在的服务“property_accessor”。你的意思是:“nelmio_alice.property_accessor.std”?

以下是该服务的声明方式vendor/nelmio/alice/src/Bridge/Symfony/Resources/config/property_access.xml

应该调用此代码,因为NelmioAliceBundle它是在AppKernel.

因此,我们将其添加composer.json禁止symfony/property-access 5.3并修复了错误:

但是,如果我们删除该解决方法,它会再次中断。而且我不明白是什么导致了这个问题。

禁止symfony/framework-bundle5.3 也解决了这个问题:https ://github.com/liip/LiipTestFixturesBundle/pull/127/commits/a534419e61ef90ca2685d697b89b2ce225712cdc


property_accessor当我们使用symfony/framework-bundle5.3 或5.3 时,是什么导致了缺失symfony/property-access


如何复制错误