2016-11-22 4 views
1

나는 Codeception에서 단위 테스트 스위트를 구성하려고합니다. 스위트 룸을 실행할 때 코드화 오류가 Fatal error: Cannot re-declare class rest\tests\UnitTester과 함께 실패합니다. 디버거를 사용하여 클래스를 첫 번째 및 두 번째로로드하는 위치에 배치했습니다.코드 작성. Actor 클래스가 두 번로드되었습니다.

처음으로 코드 작성로드 Actor에 로더에 단계를 추가하는 동안 Codeception\Test\Loader\Gherkin에 액터가 있습니다.

두 번째로 테스트 할 클래스에 대해 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

나는이 문제의 이유를 발견했다. 내 codeception.yml 테스트 폴더의 클래스가 네임 스페이스 아래에있을 때 네임 스페이스 param이 누락되어 있는지 테스트합니다. 이것은 내 문제를 일으켰습니다.