バンドルで構成ビルダーをテストしようとしています:
これは私の DependencyInjection/Configuration.php です
class Configuration implements ConfigurationInterface
{
/**
* Generates the configuration tree.
*
* @return TreeBuilder
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('product_viewer');
$supportedDrivers = array('REST', 'SOAP');
$rootNode->children()
->arrayNode('car')
->children()
->scalarNode('webservice_type')
->validate()
->ifNotInArray($supportedDrivers)
->thenInvalid('The driver %s is not supported. Please choose one of '.json_encode($supportedDrivers))
->end()
->end()
->scalarNode('rest_url')->end()
->end()
->end();
return $treeBuilder;
}
}
私のテスト:
/**
* @test
*/
public function fullCondig() {
$extension = new ProductCalculatorExtension();
$config = $this->loadConfig('config1'); //this method only load yaml from file and parse it
$extension->load(array($config), new ContainerBuilder());
}
テスト済みの構成は次のようになります。
product_viewer:
car :
webservice_type : REST
rest_url: 'example.com'
残念ながら、私が受けたすべてのテスト:
Symfony\Component\Config\Definition\Exception\InvalidConfigurationException: "product_viewer" の下のオプション "product_viewer" が認識されない
ここで何が間違っているのかわかりません。