Codeception4:GroupManager 报告缺少测试文件

2022-08-31 00:26:07

我将Codeception升级到v4(根据THIS),然后将Symfony升级到v5(根据THIS)。现在,当我尝试运行测试时,我收到有关缺少测试文件的错误:

root@blabla:供应商/bin/编解码器接收运行

在 GroupManager.php第 129 行:

GroupManager:File or directory /var/www/html/tests/unit/SomeFileCest.php 不存在

此文件在当前分支中不存在。它存在于项目的另一个分支中,但当前应该不知道有关此文件的任何内容!

无论我切换到哪个分支,都会发生此问题。所以不知何故,请记住,一个分支有额外的测试,并要求在其他分支中进行测试。看起来像某种.Codeceptioncache

如果我切换到带有丢失文件的分支,一切看起来都正常(我确实收到错误,但由于预期的旧框架)。

如果我这样做,或者例如出现错误(请注意,缺少的测试是单元测试)。vendor/bin/codecept runvendor/bin/codecept run tests/functional

我尝试删除并运行.我也尝试过完全移除树枝并从遥控器上拉下来,但没有喜悦。/var/vendorcomposer install/update

任何人都知道为什么会发生这种情况以及如何解决这个问题?


答案 1

编辑:经过一些简单的测试,它看起来与旧引用有关(正如他/她的评论中提到的@Naktibalda)。tests/_support/failed


我仍然不完全理解发生了什么,但这可以通过运行来解决:

vendor/bin/codecept clean

从帮助:Codeception

clean 递归清理日志和生成的代码

我将尝试进一步调查以了解为什么会发生这种情况,但现在这就是我所拥有的。

我希望这有助于某人避免我所经历的挫折;)


答案 2

对于我的情况,我们使用paracept来并行运行东西。此生成的组文件位于/tests/_data

一旦我删除了这个文件夹中的组文件,我的测试套件就会正常运行。

值得注意的是,这不会清除此文件夹。codecept clean_data


推荐