これはしばらくの間迷惑をかける問題です。私はjsonでデータを受け取り、jsonで応答するAPI関数を構築しています。私のコントローラテストは正常に動作します(データはJSONからデコードされ、解答のみを解釈する必要があることを抽象化して以来)。Rails JSON API JSONのPARAMSを使用したPOSTリクエストのテスト
私はJSON引数でテストするためにcurlを使用しているので、関数がうまく動作することもわかります。 (例:curl -i --header "accept:application/json" - ヘッダー "Content-Type:application/json" -d '{"test":{"email":[email protected] "} } ')
しかし、明らかに私はこれを自動的にテストするためにリクエスト(機能)テストを書いていますが、私はそれがまるでカールのように動作するはずです。つまり、私はJSONで引数を渡して答えを得たいと考えています。すでにデコードされているので、人々が議論を扱うのを見ることができるすべての例があるので、私はかなり失われています。
私の質問は:これは責任があるので、私はそのレールが動作することをテストするので、引数とJSONとして要求を送信したいと思っている間違った前提に従っています。しかし、私は自分のコードが間違った議論にどれだけ堅牢で、JSONを試してみたいと思っていますか?このタイプの
何か:
it "should return an error if there is no correct email" do
params = {:subscription => {:email => "andre"}}
post "/magazine_subscriptions", { 'HTTP_ACCEPT' => "application/json", 'Content-Type' => 'application/json', 'RAW_POST_DATA' => params.to_json }
end
あなたはこれが可能である方法を知っていますか?あなたが私が間違ってテストしていると思ったら教えてください。
すべてのベスト、
アンドレ
は、 'ポスト '/ magazine_subscriptions'、params.to_json、フォーマットとしてそれを書きます。 – user664833
@ user664833もっとエレガントです – Tudorizer
すでにjsonオブジェクトとして書式設定している場合は、.to_jsonは必要ではないと思います。私はそれが 'post/magazine_subscriptions '、params、format :: json' –