2014-10-14 1 views
3

Behat을 설정하려고하지만 bin/behat --init을 실행할 때 초기화에 실패합니다. 내 composer.json은 공식 docs에서 가져온 것입니다 :초기화에 실패했습니다. 클라이언트 :: createResponse()의 선언이 createResponse()와 호환되어야합니다.

{ 
    "require": { 
     "behat/behat": "2.4.*@stable", 
     "behat/mink": "1.4.*@stable", 
     "behat/mink-extension": "*", 
     "behat/mink-goutte-driver": "*", 
     "behat/mink-selenium2-driver": "*" 
    }, 
    "minimum-stability": "dev", 
    "config": { 
     "bin-dir": "bin/" 
    } 
} 

composer install 잘 작동하고 모든 종속성이 설치 얻을 것 같습니다.

PHP Strict Standards: Declaration of Behat\Mink\Driver\Goutte\Client::createResponse() should be compatible with Goutte\Client::createResponse(GuzzleHttp\Message\Response $response) in /web/Test-1/vendor/behat/mink-goutte-driver/src/Behat/Mink/Driver/Goutte/Client.php on line 23 

Strict Standards: Declaration of Behat\Mink\Driver\Goutte\Client::createResponse() should be compatible with Goutte\Client::createResponse(GuzzleHttp\Message\Response $response) in /web/Test-1/vendor/behat/mink-goutte-driver/src/Behat/Mink/Driver/Goutte/Client.php on line 23 


    [ReflectionException] 
    Class Guzzle\Http\Client does not exist 

누군가가 말해 왜 수 : # bin/behat --init 실행

# behat.yml 
default: 
    paths: 
    features: features 
    bootstrap: features/bootstrap 

    extensions: 
    Behat\MinkExtension\Extension: 
     base_url: http://en.wikipedia.org 
     goutte: ~ 
     selenium2: ~ 

annotations: 
    paths: 
    features: features/annotations 

closures: 
    paths: 
    features: features/closures 

다음과 같은 오류를 얻을? 나는 공식적인 기사에서 정확하게 모든 것을했다.

답변

1

호환되지 않는 버전의 Mink 확장 프로그램/드라이버를 사용하고 있습니다. 다음 버전에서는 Behat 3 및 Mink 1.6과 호환되는 최신 버전을 가져오고 이전 버전 (2.4. * 및 1.4. *)을 많이 사용하려고합니다.

"behat/mink-extension": "*", 
"behat/mink-goutte-driver": "*", 
"behat/mink-selenium2-driver": "*" 

나는 같은 사람은 아마 같은 시간에 블로깅으로 나는 꽤 아이러니 인 고정 버전 밖에 다른 예를 찾을 수 없습니다, 당신은 인터넷에서이 뽑아 한 가정입니다 나쁜 연습이 얼마나되는지. 처음 시작하는 분이라면 Behat과 Mink의 최신 버전을 사용하는 것이 좋습니다. 지난 6 개월 동안 훨씬 더 안정적이었습니다. 당신이 composer.json 변경하고 종속성을 업데이트 : 초 중반 2013에서 태그 버전을

"behat/behat": "*", 
"behat/mink": "*" 

그렇지 않은 경우, 각 확장/드라이버의 repo에 가서 찾아 그 이전 패키지를 수정해야합니다.

업데이트

당신은 당신이 새로운 Behat/밍크 버전으로 기존의 구성 형식을 사용하고 있기 때문에 작동하지 않습니다 제공하는 코드입니다. 잊지 마라, Behat 2 configs는 Behat 3를 위해 업그레이드 되어야만한다. Documentation은 여전히 ​​꽤 나쁘지 만 기초는 꽤 잘 커버된다. herehere. 이 귀하의 설정을 해결합니다 업데이트 문제 :

Ian-Bytcheks-MacBook-Pro:behat ianbytchek$ php ./vendor/bin/behat --init 
+d features - place your *.feature files here 
+d features/bootstrap - place your context classes here 
+f features/bootstrap/FeatureContext.php - place your definitions, transformations and hooks here 
+d features/annotations - place your *.feature files here 
+d features/closures - place your *.feature files here 

업데이트 : 여기

default: 
    extensions: 
    Behat\MinkExtension: 
     base_url: http://en.wikipedia.org 
     goutte: ~ 
     selenium2: ~ 

    suites: 
    default: 
     paths: 
     - '%paths.base%/features' 

    annotations: 
     paths: 
     - '%paths.base%/features/annotations' 

    closures: 
     paths: 
     - '%paths.base%/features/closures' 

는 당신이 길을 잃지 단지의 경우, files을 포장, init 명령이 생성

모든 악의 뿌리는 인증 모듈에 설치되지 않은 컬 모듈이었습니다. 또는 환경. 적절한 경고 대신 php는 많은 도움이되지 않는 대체 방법을 사용하여 문제를 완화하려고했습니다.

+0

불행히도 문제가 해결되지 않았습니다. 나는 모든 줄에 *를 넣었고, 다음과 같은 버전이있다 :'behat/behat (v2.5.3)','behat/mink (v1.4.3)','behat/mink-extension (v1.3.1)',''behat/mink -browserkit-driver (v1.0.5)','behat/mink-goutte-driver (v1.0.3)'하지만 같은 오류가 있습니다. – SmxCde

+0

재미 있은만큼, 그것은 참으로 문제가 아닙니다. 그러나 어느 날 적절한 버전을 사용하지 않으면 될 것입니다. :) 설명서의 예제를 사용하여 테스트했으며 [잘 작동합니다 (http : // cl.ly/image/0A0U303Y0G07), 이는 문제가 귀하의 코드와 관련이 있음을 의미합니다. 기능 코드, behat.yml 및 사용하는 사용자 정의 컨텍스트를 제공하십시오. –

+1

모든 항목, 파일 및 로그가 포함 된 zip 파일이 있습니다. http://pushkarov.com/files/misc/Other/behat.zip 필자는 아직까지이 기능을 사용하지 않았기 때문에 .feature 파일을 포함하지 않았습니다. 실패했습니다. - 무대에서. – SmxCde

관련 문제