json_spec
多機能
RSpec / Cucumber両対応
ヘルパーがたくさん
チェインや excluding の設定によりJSONの一部のみを検査するのが簡単に出来る
RSpec
5つのマッチャーが生える
be_json_eql
include_json
have_json_path
have_json_type
have_json_size
at_pathやexcludingなどをチェインできて便利
例: friendsのキーの配列の0番目の名前はfriends/0/first_name
他テストを書くときの便利ヘルパーも生える
parse_json
normalize_json
generate_normalized_json
load_json
なんとデフォルトで3つのキーの比較を無視するが設定で変更可能
id
created_at
updated_at
Cucumber
Cucumber向けのステップ定義も提供されておりlast_jsonメソッドを定義するとそのメソッドの結果に対して検証を行う
テーブル表記により配列の中の属性を書く
JSON中のあるパスをたどった際の値を書く
JSONそのものを書いて検証する
I keep the JSON response as ステップなどでJSONの内容を記憶しておき、後のステップ中%{}で展開できる