2017-01-09 1 views
1

현재 우리는 Codeception 2.0.16을 사용하여 구축 된 대규모 수락 스위트를 보유하고 있습니다. Codeception 2.2.5로 업그레이드하고 싶습니다. 그러나 Codeception 2.2.5 (phar를 통해)를 설치 한 후에는 테스트 스위트를 전혀 실행할 수 없습니다.코드 네임 스페이스

우리가받은 오류 (하단에 추가 정보)입니다 :

는 [Codeception는 \ 예외 \가 된, ConfigurationException] 모듈 WebHelper 발견하고로드 할 수 없습니다

는 분명히 새로운 버전은 로딩을

가 우리 스위트에 영향을 미치는 변경 사항.

나는이 업그레이드에 도움이되는 마이그레이션 지침을 검색했으나 표시되지 않습니다.

Addtional 세부

  • Codeception 버전 : 2.016 ==> 2.2.5
  • PHP 버전 : 5.6.9
  • 운영 체제 : CentOS는
  • 설치 유형 :의 Phar

코드화 프로젝트 구성

참고 : 코드의 여러 부분을 테스트하고 변경 한 후 주요 문제가 네임 스페이스와 관련되어 있음을 발견했습니다. 아래에서 볼 수 있듯이 "SM"이라는 네임 스페이스와이 문제를 일으키는 방법을 사용하고 있습니다.

codeception.yml

namespace: SM 
paths: 
    tests: tests 
    log: tests/_log 
    data: tests/_data 
    helpers: tests/_helpers 
settings: 
    bootstrap: _bootstrap.php 
    suite_class: \PHPUnit_Framework_TestSuite 
    colors: true 
memory_limit: 1024M 
    log: true 
    strict_xml: true 
modules: 
    config: 
     Db: 
      dsn: 'mysql:host=xxxxxxxxxxxx;dbname=<DB_NAME>' 
      user: 'USER' 
      password: '********' 
      dump: tests/_data/dump.sql 
      populate: false 
      cleanup : false 

접수 스위트 룸 구성

class_name: WebGuy 
modules: 
    enabled: 
     - WebDriver 
     - WebHelper 
     - SistemWSClient 
     - TestingSupportWSClient 
     - Db 
     - TempFileManager 
     - Asserts 

    config: 
     WebDriver: 
      url: 'http://xxxxxxxxxxxxxxxxxx/codeception' 
      browser : firefox 
      host: xxxxxxxxxxxxx 
      port: 4444 
      wait: 0 
      restart: true 
      capabilities: 
       unexpectedAlertBehaviour: 'accept' 

     SistemWSClient: 
      url: xxxxxxx 
     TestingSupportWSClient: 
      url: 'http://x/codeception/rest.php' 
     Db: 
      dsn: 'mysql:host=xx;port=3306;dbname=x' 
      user: 'xxxxxxx' 
      password: 'xxxxxxx' 
      dump: 'some/dump/file' 
      populate: false 
      cleanup: false 

주 :

A) 내가 추가 한 "네임 스페이스 S 엠;" 테스트 맨 위/_helpers/WebHelper.PHP는 (그것이 작동하지 않았다)

나는 또한이 시도 B)가 (이 작동하지 않았다)

나는 또한 codeception의 사이트에서 codeception의 청소 버전을 설치
modules: 
    enabled: 
     - \WebHelper (or \SM\WebHelper or any other combination) 

C) :

  • 다운로드 된 codeception (wget을 http://codeception.com/codecept.phar)
  • 설치된 그것 (codecept 부트 스트랩)
  • ,
  • 은 (codecept 생성 : CEPT 수용에 오신 것을 환영합니다) 단지 테스트 목적으로 간단한 테스트를 만든

추가 "네임 스페이스 SM을;"

도우미 \ 수락을 찾을 수 없습니다와 나는 또한 codeception의 "추가 네임 스페이스"를 사용하려고

D)로드 : 따라 도우미와 나는이 경우, 같은 오류가 명령 행운없이

아무 생각 나게 될 것입니다.

감사합니다, 내 경우에는

답변

0

오류는, 그러나 이유를 다른 파일을 언급 솔루션은 동일 할 수있다. 적어도 디버깅 및 내 문제 내가 답을 찾을 웹 검색의 몇 시간 후

: http://phptest.club/t/class-helper-acceptance-does-not-exist/808

내 경우, 내 메인 프로젝트의 .gitignore은에 _* 라인을했다. 이 때문에 코드화 디렉토리가 커밋되지 않았으며 특히 요청한 파일을 포함하는 _support 지시문이 커밋되지 않았습니다.

내 .gitignore에서 _* 행을 제거하고 파일을 커밋하고 당긴 다음 문제를 해결했습니다.

희망이 도움이됩니다.

+0

이 답변은 질문과 아무런 관련이 없습니다! –

0

'코드 작성'에서 '도우미'를 만들어야합니다. 다음 명령을 실행하십시오.

codecept build 

그런 다음 다시 실행하십시오.