我正在写一些单元测试,我遇到了一个问题,因为Codeception使用它自己的内部Symfony类,而不是使用我的项目中的实际Symfony类。我还没有在我的codeception.yml或unit.suite.yml文件中启用Symfony作为一个模块。
这似乎是Codeception中的一个设计缺陷。Symfony类并不是一成不变的,但是通过使用Codeception,它们被冻结了,所以当我运行测试时,我使用的Symfony版本不一定匹配。
如何在运行Codeception测试时使用Symfony自己的类?
发布于 2017-12-11 18:13:12
我假设您使用的是phar文件或全局composer安装。
本地composer安装和phar或全局安装之间的版本冲突是一个非常常见的问题。
防止它的唯一方法是将Codeception安装为本地composer依赖项,然后它将使用与您的项目相同的Symfony版本。
安装:composer require --dev codecept/codecept。
运行:./vendor/bin/codecept run。
发布于 2017-12-22 10:03:14
作为一种变通方法,我已经创建了一个围绕Codeception的包装器,它在Codeception有机会加载它自己的版本之前加载Symfony库。我不喜欢这个解决方案,因为它很混乱,而且一点也不明显,因为你必须调用不同的脚本,而不是Codeception。然而,它确实起作用了。
https://stackoverflow.com/questions/47745634
复制相似问题