7

Ruby on Rails アプリで取り組んでいる RESTful Web サービスの機能テストを書きたいと思います。

このテストは、リクエストの本文がフォームではなくプレーンな XML ドキュメントである POST リクエストのものです。これを行う方法についての指針はありますか?私が直面している問題は、post メソッドの呼び出しで本文 XML を指定する方法です。

4

5 に答える 5

8

以下は私のために働いた:

@request.env['RAW_POST_DATA'] = MY_XML_STRING
post :create   
于 2008-12-04T03:40:27.783 に答える
1

@request.env['RAW_POST_BODY']目的の入力ストリームに設定することで、それを実行できる場合があります。

于 2008-12-03T13:33:41.547 に答える
0

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

メソッドで実際に定義@xml_request_headersし、setupこのファイルのすべてのテストで使用できます。test_helper.rbより多くのファイルで必要な場合は、に配置することをお勧めします。

于 2012-11-13T17:23:26.917 に答える
-1

shoulda の「should_be_restful」マクロをチェックしてください。このマクロはまもなくshoulda から廃止され、 wowda gemでのみ利用可能になります。

于 2008-12-03T12:54:24.530 に答える
-1

Net:HTTP を使用して REST サービスをテストするテスト スクリプトを作成しました。

于 2008-12-12T13:51:13.477 に答える