Php 自Symfony 4.2在功能测试期间以来,没有根节点的树生成器已被弃用
我正在设置一个Symfony 4.2.2应用程序,我想用Gitlab CI运行功能测试。 但我面临着这个问题:Php 自Symfony 4.2在功能测试期间以来,没有根节点的树生成器已被弃用,php,symfony4,gitlab-ci-runner,Php,Symfony4,Gitlab Ci Runner,我正在设置一个Symfony 4.2.2应用程序,我想用Gitlab CI运行功能测试。 但我面临着这个问题: 自Symfony 4.2以来,不推荐使用没有根节点的树生成器,5.0将不再支持它。 奇怪的是,我在本地遇到了这个问题,但这只是我在缓存重建后第一次运行单元测试。 第二次运行单元测试时,不再触发错误 我正在使用sensio/framework extra捆绑包的5.2.4版,如前所述,它应该可以解决这个问题 这个错误使我的作业每次都失败,即使所有测试都正常 我确保在功能测试中使用类Sym
自Symfony 4.2以来,不推荐使用没有根节点的树生成器,5.0将不再支持它。
奇怪的是,我在本地遇到了这个问题,但这只是我在缓存重建后第一次运行单元测试。
第二次运行单元测试时,不再触发错误
我正在使用sensio/framework extra捆绑包的5.2.4版,如前所述,它应该可以解决这个问题
这个错误使我的作业每次都失败,即使所有测试都正常
我确保在功能测试中使用类Symfony\Bundle\FrameworkBundle\Test\WebTestCase
。
我还确保所有依赖项都是最新的
下面是我编写的一个功能测试示例:
多亏了@SergheiNiculaev,我才在phpunit.xml.dist
文件中添加了以下行:
[编辑]
另一种解决方案是在CI配置文件中添加以下行:
variables:
# ...
SYMFONY_DEPRECATIONS_HELPER: weak
如果这种情况仅在第一次发生,则表示该错误在缓存预热期间触发。如果您不想搜索根本原因,请将预热添加到您的before\u脚本中,如:
- php bin/console cache:warmup --env=test
这确保在执行第一个测试用例之前构建缓存的容器,这样您的测试用例就不会受到容器构建问题的影响您好,欢迎来到StackOverflow社区。只需禁用弃用通知-谢谢@SergheiNiculaev,这正是我所需要的。我刚刚在我的phpunit.xml.dist
文件中添加了以下行:xml
很高兴您的问题得到了解决。如果您愿意,也可以通过将此代码添加到CI配置中来实现:我不想粗鲁,但这不是一个好主意。检查该通知的真正来源并解决该问题。它不是为了让你烦恼,而是告诉你在升级到下一个Symfony版本之前需要采取行动
variables:
# ...
SYMFONY_DEPRECATIONS_HELPER: weak
- php bin/console cache:warmup --env=test