Codeception。 Actor类加载了两次

时间:2016-11-22 10:43:20

标签: php yii2 yii2-advanced-app codeception

我尝试在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

1 个答案:

答案 0 :(得分:0)

我找到了这个问题的原因。当测试文件夹中的类位于命名空间下时,我的codeception.yml测试缺少命名空间参数。这引起了我的问题。