2013-05-10 116 views
4

我收到以下錯誤,當我試圖在我的symfony項目運行PHPUnit的運行PHPUnit時,「你不能在一個序列中,當定義一個映射項」:在symfony中

$ phpunit -c app 

1) [...]\DefaultControllerTest::testIndex 
Symfony\Component\Config\Exception\FileLoaderLoadException: Cannot import resource "/srv/http/typeform/app/config/config.yml" from "/srv/http/typeform/app/config/config_dev.yml". 

/srv/http/typeform/vendor/symfony/src/Symfony/Component/Config/Loader/FileLoader.php:89 
[...] 
/srv/http/typeform/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php:39 
/srv/http/typeform/src/QuickyForm/PublicBundle/Tests/Controller/DefaultControllerTest.php:11 

Caused by 
Symfony\Component\Yaml\Exception\ParseException: You cannot define a mapping item when in a sequence in "\/srv\/http\/typeform\/app\/config\/config.yml" 

/usr/share/pear/Symfony/Component/Yaml/Parser.php:116 
[...] 
/srv/http/typeform/app/bootstrap.php.cache:520 
/srv/http/typeform/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php:39 
/srv/http/typeform/src/QuickyForm/PublicBundle/Tests/Controller/DefaultControllerTest.php:11 

它似乎崩潰當我打電話static::createClient();

這裏是我的config_test.yml

imports: 
    - { resource: config_dev.yml } 
+0

您似乎缺少大部分來自config_test.yml的默認symfony內容 - 是否有任何特定原因? – redbirdo 2013-05-10 13:38:49

+0

因爲我在測試,當我使用默認的config_test.yml時問題是一樣的 – gchain 2013-05-13 09:14:20

回答

11

你所得到的錯誤提示,該應用程序是無法解析您的「config.yml」,因爲「你不能去在序列中罰款映射項目「。

這意味着在定義數組值時,您不能提供格式爲「key:value」的映射條目和以「 - item」格式提供的序列條目 - 所有值必須是一個或另一個格式。

所以,這是確定的:

group: 
    key: value 
    key: value 

這也是OK:

group: 
    - item 
    - item 

這是不正常:

group: 
    key: value 
    - item 

的錯誤提示,還有的出現在你的config.yml中的最後一個表單,雖然如果是這樣的話,它應該會導致在瀏覽器中運行你的應用程序時出現問題,而不是ju st在phpunit下。

+0

謝謝!最後我注意到,當我將Yaml解析器從2.x替換爲1.x時,錯誤消失了 – gchain 2013-05-13 15:39:01