15

JSONデータを受け入れるAPIを作成していて、そのためのテストデータを提供したいと思います。

JSONデータのファクトリに似たものはありますか?インポートが意図したとおりに機能するかどうかを確認できるように、オブジェクトとJSONで同じデータを使用できるようにしたいと思います。

JSONは厳密に構造を定義しているため、呼び出すことはできませんFactoryGirl(:record).to_json

4

4 に答える 4

32

このような場合、インポートする JSON のフィクスチャ ファイルを作成します。次のようなものが機能します。

json = JSON.parse(File.read("fixtures/valid_customer.json"))
customer = ImportsData.import(json)
customer.name.should eq(json["customer"]["name"])

FactoryGirl を使用して属性を設定し、それを JSON に取得してインポートできるものは見たことがありません。Customer オブジェクトを取得して JSON でレンダリングし、それをインポートするマッパーを作成する必要があるでしょう。

于 2013-01-30T14:51:10.290 に答える
5

実際、factorygirl で次のことができます。

factory :json_data, class: OpenStruct do 
   //fields
end

FactoryGirl.create(:json_data).marshal_dump.to_json
于 2015-07-07T22:31:04.027 に答える
0

少し前に、この問題に対処するFactoryJSON gemを実装しました。これまでのところ、非常にうまく機能しています。Readme ファイルには、考えられる使用例が記載されています。

于 2016-03-29T10:52:16.117 に答える