2011-07-21 7 views
3

私はrspecコントローラー仕様でrender_viewsを呼び出していますので、別の表示仕様を使用するのではなく、直接応答の内容をテストできます。ActionController :: TestResponseのコントローラー仕様でCapybaraマッチャーを使用

確かに、ビューはレンダリングされ、response.bodyに返されます。

問題は、表現力豊かな方法でページの内容を実際に解析する方法です。私はhas_contenthas_fieldなどのようなCapybaraマッチャーを使用しようとしていますが、要求仕様でうまく動作しますが、ActionController::TestResponseまたは.bodyから返された文字列では動作しません。

ビューを解析するためのrspec APIはどこですか?

render_views私はそれらを検査することはできませんのポイントは何ですか?

答えて

1

レンダリングされたビューを仕様したい場合は、コントローラーではなく、要求/受諾/機能仕様で行うことをお勧めします。コントローラの仕様は、コントローラのユニット仕様のように扱う必要があります。 render_viewsは、ビューが問題なくレンダリングされることを確認したい場合に使用できますが、そのビューのスペシングに関して深く関与する必要はありません。

+0

よろしくお願いします。コントローラー仕様のビューを掘り下げるのが面倒で、テストが大幅に遅くなるようです。私は要求仕様にUIスタッフを保持しており、主にコントローラー仕様を使って割り当てをテストしています。 –

関連する問題