[解決済み] RSpecコントローラのテスト - 空白のresponse.body
2022-10-06 11:30:34
質問
RSpecでコントローラをテストする際に、response.bodyの呼び出しが常に空文字列を返してしまうという問題に直面しています。ブラウザではすべて正しく表示され、cucumber feature テストでは正しく表示されるように見えますが、RSpec では毎回失敗します。
レスポンスオブジェクトに対する他の期待値、たとえば
response.should render_template('index')
は問題なく通過します。
この問題に遭遇したことのある方はいらっしゃいますか?もしかしたら、他の方法で応答htmlを得ることができるかもしれませんか?
バージョンとしては、Rails 2.1.0、RSpec 1.2.7です。
どのように解決するのですか?
デフォルトでは、rspec-railsはRailsをハックして を防ぐ をハックして、ビューテンプレートを実際にレンダリングしないようにします。テンプレートのレンダリングの結果ではなく、アクション&アンプ; フィルタのコントローラテストの動作だけをテストすべきです。
しかし、もしコントローラのテストで、アプリが通常行うようなテンプレートのレンダリングを行いたい場合は
render_views
ディレクティブを使用します。
describe YourController do
render_views
...
end
関連
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み】OS X Yosemite 10.10.5 で [Ruby on Rails] 5 をインストールすると extconf が失敗して終了コード 1 エラーになる。
-
[解決済み] Ruby on Railsのためにnetbeansを構成する方法は?
-
[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜ?
-
[解決済み] railsでhidden fieldタグを使用する方法
-
[解決済み] RSpecとCucumberの違いは何ですか?[クローズド]
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] RSpecのlet()はいつ使うのか?
-
[解決済み] RSpecでモジュールをテストする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] サーバーに接続できませんでした。そのようなファイルまたはディレクトリがありません (PG::ConnectionBad)
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み】OS X Yosemite 10.10.5 で [Ruby on Rails] 5 をインストールすると extconf が失敗して終了コード 1 エラーになる。
-
[解決済み] 新規ユーザー作成時に ActiveModel::ForbiddenAttributesError が発生する。
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] Ruby on rails "No route matches" (ルートに一致するものがない)。
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] サーバーはRailsで既に稼働している
-
[解決済み] ルビーオンレール モデルから明確な値を選択する