Symfony2 を使用して REST API を構築しています。すべてのフィクスチャを生成するために、 AliceとFakerと一緒に機能テストにLiip バンドルを既に使用しています。ただし、JSON が POST データに含まれているため、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
);
私の最初の質問は、これは正しいアプローチですか? 見逃したバンドルで、生活がずっと楽になりますか?
私の 2 番目の質問は、この YAML 構造内で Faker を使用できるかどうかです。私のフィクスチャでは、Faker 関数 (例: < firstName() >) を呼び出します。これは、フィクスチャがロードされると、ランダムではあるが意味のある値でエンティティを自動的に埋めます。これらの YAML 構造でそれらを使用することは可能でしょうか?
どうもありがとう!;)