我正在使用 Symfony2 构建一个 REST API。我已经与Alice和Faker一起使用Liip 捆绑包进行功能测试,以生成所有固定装置。但是,当我想直接测试 POST 调用本身时,只要 JSON 包含在 POST 数据中,我就没有什么麻烦了,这使我的函数变得非常长、丑陋且不可读。
我决定将假 JSON 移出类,将它们转换为 YAML 文件,然后使用 Symfony 的解析器加载它们:
private function loadYaml($resource){
$data = Yaml::parse(file_get_contents('src/AppBundle/DataFixtures/YAML/' . $resource . '.yml'));
return $data;
}
这似乎工作得很好,因为我可以轻松地将它们转换回 JSON 对象,然后在调用中使用它:
$postData = json_encode($this->loadYaml('newapplication'));
$this->client->request(
'POST',
'/api/application/save/',
array('data' => $postData), // The Request parameters
array(), // Files
array(),
'mybody', // Raw Body Data
true
);
我的第一个问题是:这是一个正确的方法吗?是否有任何我错过的捆绑包可以让我的生活更轻松?
我的第二个问题是在这个 YAML 结构中是否可以使用 Faker。在我的夹具上,我调用 Faker 函数(例如 < firstName() >),当加载夹具时,它会自动用随机但有意义的值填充我的实体。是否可以在这些 YAML 结构中使用它们?
非常感谢!;)