rspec (Rails) を使用して JSON 応答をテストしようとしています[the original object].to_json
。問題は、応答 JSON 文字列の フィールドupdated_at
とcreated_at
フィールドが元のオブジェクトの同じフィールドとミリ秒単位で異なるため、テストが失敗することです。
テスト:
lesson = FactoryGirl.create(:lesson)
request.accept = "application/json"
get :show, {:id => lesson.to_param, :location_id => lesson.location_id}, valid_session
response.body.should eq lesson.to_json
結果:
expected: "{\"id\":1,\"location_id\":1,\"day_number\":5,\"time\":\"17:00\",\"min_age\":4,\"max_age\":10,\"created_at\":\"2013-10-02T00:51:53.870+03:00\",\"updated_at\":\"2013-10-02T00:51:53.870+03:00\"}"
got: "{\"id\":1,\"location_id\":1,\"day_number\":5,\"time\":\"17:00\",\"min_age\":4,\"max_age\":10,\"created_at\":\"2013-10-02T00:51:53.000+03:00\",\"updated_at\":\"2013-10-02T00:51:53.000+03:00\"}"
期待値の 870 ミリ秒 (および実際の結果の 000 ミリ秒) を除いて、2 つの文字列は等しいことに注意してください。
どうすればそれをテストできますか?