4
我正在使用JMSSerializer爲我正在開發的Symfony2項目創建JSON響應,並試圖爲每個響應構建單元測試,但是我點擊了變體如下:JMS序列化程序在Symfony2中運行PHPUnit測試時未讀取配置文件
JMS\Serializer\Exception\RuntimeException: You must define a type for FooBundle\Entity\Bar::$name.
我對序列化程序使用YML配置,它在生成響應時可以很好地工作。
#src/FooBundle/Resources/config/serializer/Entity.Bar.yml
FooBundle\Entity\Bar:
exclusion_policy: none
properties:
id:
exclude: true
type: integer
name:
type: string
我想知道如果我需要以某種方式預加載的配置,發現此鏈接: http://jmsyst.com/libs/serializer/master/configuration,說來配置元數據路徑,但也包括一個文件後綴:
$serializer =
JMS\Serializer\SerializerBuilder::create()
->addMetadataDir($someDir)
->build();
我試着在單元測試中生成串行器時設置config目錄:
$serializer = SerializerBuilder::create()->addMetadataDir('path-to-dir')->build();
但是,這並沒有解決問題,我檢查了文檔並且它會告訴您列出文件的完整路徑
「因此,如果您的類名爲Vendor \ Package \ Foo,則元數據文件需要位於$ someDir/Vendor.Package中。 。美孚(XML |陽明)「。
而是試圖獲取生成:
JMS\Serializer\Exception\InvalidArgumentException: The directory "path-to-file" does not exist.
我失去了一些東西明顯?
感謝
本