저는 Behat과 YAML을 처음 사용하고 있으며, 많은 수의 매개 변수 배열을 FeatureContext 생성자에 전달하는 데 문제가 있습니다.Behat 3 - 가져온 파일에서 가져온 매개 변수를 FeatureContext 생성자에 전달합니다.
(편의를 위해 단축) behat.yml :
default:
context:
extensions:
Behat\MinkExtension\Extension:
base_url: 'http://mysite.local'
goutte: ~
selenium2: ~
...
imports:
- config/data/mydata.yml
및 mydata.yml : Behat 2와
는 다음 괜찮 았는데
default:
context:
parameters:
some_long_array:
'key1': 'value1'
'key2': 'value2'
...
와 나는 많은을 가질 수 그러한 가져온 매개 변수 파일.
default:
suites:
default:
contexts:
- FeatureContext
extensions:
Behat\MinkExtension:
base_url: 'http://mysite.local'
goutte: ~
selenium2: ~
...
imports:
- config/data/mydata.yml
및 mydata.yml : - 3 Behat 사용
이나는 다음과 같은 (단축) behat.yml과 같은 일을 달성하기 위해 노력
이default:
suites:
default:
contexts:
- FeatureContext:
parameters:
some_long_array:
'key1': 'value1'
'key2': 'value2'
...
이 작동하지 않고 아무것도 생성자에 전달되지 않습니다.
class FeatureContext implements SnippetAcceptingContext
{
/**
* Initializes context.
*
* Every scenario gets its own context instance.
* You can also pass arbitrary arguments to the
* context constructor through behat.yml.
*/
public function __construct(array $parameters)
{
var_dump($parameters);
}
}
내가 (가져온 파일에 대신) behat.yml에 인라인 매개 변수를 전달하면, 모든 작품을 좋아 :
Recoverable fatal error: Argument 1 passed to FeatureContext::__construct() must be of the type array, none given in FeatureContext->__construct()
내 FeatureContext 클래스는 다음과 같습니다
default:
suites:
default:
contexts:
- FeatureContext:
parameters:
some_long_array:
'key1': 'value1'
'key2': 'value2'
extensions:
Behat\MinkExtension:
base_url: 'http://mysite.local'
goutte: ~
selenium2: ~
...
테스트가 실행되고 예상대로 배열을 볼 수 있습니다. 문제는 필자가 여러 개의 큰 매개 변수 배열을 가지고 있고 behat.yml 파일에서 모두이를 지정하는 것이 비현실적이라는 것입니다.
Behat 3을 사용하여 외부 파일에 큰 매개 변수 배열을 지정하려면 어떻게해야합니까?
당신이하려는 일에 대한 해결책을 찾았습니까? 나는 똑같은 문제에 직면하고 있으며 지금은 아무 것도 찾을 수 없다. 감사! – LaurentG