14

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

root@blabla:供应商/bin/codecept 运行

在 GroupManager.php 第 129 行:

GroupManager:文件或目录/var/www/html/tests/unit/SomeFileCest.php 不存在

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

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

如果我切换到缺少文件的分支,一切看起来都很好(我确实收到错误,但由于预期的旧框架)。

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

我尝试删除/var/vendor运行composer install/update. 我还尝试完全移除分支并从远程拉出,但没有任何乐趣。

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

4

1 回答 1

33

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


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

vendor/bin/codecept clean

Codeception帮助:

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

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

我希望这可以帮助某人避免我所经历的挫折;)

于 2020-01-06T10:04:45.273 回答