2011-06-06 10 views
11

私はRails 3.0.7アプリケーションを持っています。機能テストでは、次のコードがあります。私はrspecなどを使用していません。これはレールが付いたプレーンなバニラ機能テストです。レスポンスボディの内容をレール3の機能テストにアサートする方法

assert_response :success 

上記のアサーションは合格です。しかし、私は応答の本文として返される完全な内容を主張する必要があります。レスポンス本文にアクセスするにはどうすればよいですか?

答えて

34

あなたが経由で機能テストでレスポンスボディにアクセスすることができます。多くの場合、テストのこのスタイルでは、あなたが本当に使いたい

response.body 

方法:assert_selectのAPIをチェックアウトする

assert_select 

良い方法はチート宝石を経由する:

gem install cheat 
cheat assert_select 
+1

'response.body'はjson文字列になります。ハッシュのように操作する必要があるなら、 'JSON.parse(response.body)'を使ってそのハッシュを得ることができます。 – Ziggy

関連する問題