2008-12-03 8 views
7

Me gustaría escribir una prueba funcional de un servicio web RESTful en el que estoy trabajando en una aplicación Ruby on Rails.Pruebas funcionales de un POST RESTful en Ruby on Rails

La prueba es de una solicitud POST donde el cuerpo de la solicitud es un documento XML simple y no un formulario. ¿Alguna sugerencia sobre cómo hacer esto? El problema que estoy encontrando es cómo especificar el cuerpo XML en la llamada al método de publicación.

Respuesta

-1

Echa un vistazo a shoulda macro "should_be_restful". Esta macro pronto será deprecated de shoulda y solo estará disponible en la gema woulda.

1

Puede realizarlo configurando @request.env['RAW_POST_BODY'] en la secuencia de entrada deseada.

8

Los siguientes trabajó para mí:

@request.env['RAW_POST_DATA'] = MY_XML_STRING 
post :create 
-1

acabo escribió un script de prueba utilizando neto: HTTP para probar el servicio REST.

0

me encontré con la siguiente solución a http://de.softuses.com/6051

message = '<?xml version="1.0" encoding="UTF-8"?> 
<tag>content</tag>' 

@xml_request_headers ||= {} 
@xml_request_headers['HTTP_ACCEPT'] = @xml_request_headers['CONTENT_TYPE'] = 'application/xml' 

post '/controller/action.xml', message, @xml_request_headers 

realidad he definido @xml_request_headers en mi método setup y puede utilizarse en todas mis pruebas en este archivo. Quizás sería una buena idea ponerlo en test_helper.rb si es requerido por más archivos.

Cuestiones relacionadas