私はSymfony2を使用してREST APIを構築しています。私はすでにLiip bundleを機能試験に使用しており、すべての備品を生成するためにAliceとFakerを使用しています。しかし、JSONがPOSTデータに含まれているのでPOST呼び出し自体を直接テストしたいときには少し問題があります。そのため、私の機能はかなり長く、醜く、判読不能になりました。Symfony2 APIテストYAML/Fakerを使用したPOST
私はYAMLファイルに変換し、クラスの外に偽のJSONを移動することを決めた後、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構成でそれらを使用することは可能でしょうか?
ありがとうございます! ;)
を試してみて、データはリクエストパラメータの中に送信されます。 Liip BundleのWebTestCaseを使用しています。これにはいくつか興味深い機能が追加されています。 – MarcSitges