Testowanie żądania POST przez Rails JSON API z PARAMS do JSON
Jest to problem, który od jakiegoś czasu mnie niepokoi. Tworzę funkcję API, która powinna odbierać dane w json i odpowiedź w json. Moje testy kontrolera działają dobrze (ponieważ abstrahuję od faktu, że dane tam trafiają, są już zdekodowane z JSON i tylko odpowiedź musi zostać zinterpretowana).
Wiem również, że funkcja działa dobrze, ponieważ użyłem curl do przetestowania jej z argumentami JSON i działa dobrze.
(np. curl -i-collector "zaakceptuje: application/json" -header "content-type: application/json" -d '{"test": {"email": "andreo@benjamin.dk"}}' )
Ale oczywiście chciałbym napisać testy żądań (funkcji), które sprawdzą to automatycznie i jak widzę, powinny działać dokładnie tak jak curl, to znaczy dostać się do mojej usługi tak, jakby to było połączenie zewnętrzne. Oznacza to, że chciałbym przekazać argumenty w JSON i otrzymać odpowiedź. Jestem dość zdezorientowany, ponieważ wszystkie przykłady, które widzę, ludzie interpretują argumenty tak, jak zostały już rozszyfrowane.
Moje pytanie jest takie: kieruję się złym założeniem, chcąc wysłać Argumenty i żądanie jako JSON, więc jak mam sprawdzić, czy szyny działają, ponieważ za to odpowiada? Ale chciałbym zobaczyć, jak odporny jest mój kod na błędne argumenty i chciałbym spróbować z JSON.
coś takiego:
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
Czy wiesz, jak to jest możliwe? i daj mi znać, jeśli uważasz, że źle to sprawdzam.
wszystkiego najlepszego,
Andre
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Test żądania RSpec łączy skróty w tablicy do parametrów POST JSON
https://coderoad.ru/18337609/), Myślę, że to, co robiłem źle, dotyczyło argumentów żądania.
więc to zadziałało:
Anonimowy użytkownik
Potwierdzenie od: