Codeception4:GroupManager 报告缺少测试文件

Codeception4: GroupManager reports missing test file

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

root@blabla: vendor/bin/codecept run

In GroupManager.php line 129:

GroupManager: File or directory /var/www/html/tests/unit/SomeFileCest.php does not exist

此文件存在于当前分支中。它存在于项目的另一个分支中,但是当前应该对这个文件一无所知!

无论我切换到哪个分支都会出现这个问题。所以不知何故 Codeception 记得,一个分支有额外的测试,并要求在其他分支中进行测试。看起来像某种 cache.

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

如果我做 vendor/bin/codecept runvendor/bin/codecept run tests/functional 就会出现错误(请注意,缺少的测试是 unit 测试)。

我尝试删除 /var/vendor 以及 运行ning composer install/update。我也试过完全删除分支并从远程拉取,但没有快乐。

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

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


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

vendor/bin/codecept clean

来自Codeception帮助:

clean Recursively cleans log and generated code

我将尝试进一步调查以了解为什么会发生这种情况,但目前我只有这些。

我希望这可以帮助其他人避免我经历过的挫折;)