Rails JSON API de test de la requête POST avec PARAMS en JSON

C'est un problème qui me tracasse depuis un certain temps. Je fais construire une fonction de l'API qui doit recevoir les données en json et la réponse en json. Mon contrôleur des tests de fonctionner correctement(Puisque je abstraite que les données y arrive déjà décoder à partir de JSON et que la réponse doit être interprétée ).

Je sais Aussi que la fonction fonctionne très bien depuis que j'utilise curl pour le tester avec des arguments JSON et il fonctionne parfaitement.
(ex: curl -i --en-tête "Accept: application/json" --en-tête "Content-Type: application/json" -d '{"test":{"email":"[email protected]"}}' )

Mais évidemment, je tiens à écrire demande(fonction) des tests pour tester automatiquement et la façon dont je vois qu'ils devraient travailler exactement comme curl, c'est à dire, frappé mon service comme si c'était un appel externe. Cela signifie que je voudrais faire passer les arguments en JSON et de recevoir une réponse. Je suis assez perdu, puisque tous les exemples que je peux voir, les gens traitent les arguments qu'il a déjà été décodé.

Ma question est: je suis une fausse prémisse voulant envoyer de l'argumentation et de la demande, JSON, puisque je vais tester rails fonctionne, parce que c'est sa responsabilité? Mais je voudrais voir comment robustes mon code sa de mauvais arguments et voudrais essayer avec JSON.

quelque chose de ce type:

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

Savez-vous comment est-ce possible? et s'il vous plaît laissez-moi savoir si vous pensez que je suis en train de tester ce mal.

tout le meilleur,

André

OriginalL'auteur andre.orvalho | 2013-09-08