我尝试在Codeception中配置单元测试套件。当我运行套件时,Codeception失败并显示错误Fatal error: Cannot re-declare class rest\tests\UnitTester
。使用调试器,我找到了第一次和第二次加载类的地方。
第一次Codeception在添加加载步骤期间加载Codeception\Test\Loader\Gherkin
中的Actor。
第二次使用测试初始化类的Actor
实例。第二,必须已经包含此类,但是再次启动加载程序。这里出现错误。
类加载了Codeception加载器。起初我认为它是由命名空间引起的,但UnitTester
只是命名空间中的一个类。我的.yml
个文件列在下面。我非常感谢你的帮助。
codeception.yml:
actor: Tester
paths:
tests: tests
log: tests/_output
data: tests/_data
support: tests/_support
envs: tests/_envs
settings:
bootstrap: _bootstrap.php
colors: true
memory_limit: 1024M
modules:
config:
Yii2:
configFile: 'config/test-local.php'
unit.suite.yml:
class_name: UnitTester
modules:
enabled:
- Yii2
- Asserts
答案 0 :(得分:0)
我找到了这个问题的原因。当测试文件夹中的类位于命名空间下时,我的codeception.yml
测试缺少命名空间参数。这引起了我的问题。