コントローラーをテストして、特定のレイアウトをレンダリングできます
expect { get :index }.to render_template(layout: 'my_layout')
しかし、コントローラーをテストしてNOレイアウトをレンダリングするにはどうすればよいですか?
次の最初の期待値はパスしますが、注意してください: 2 番目の期待値もパスします! (同じコードをテストする)
expect { get :index }.to render_template(layout: false)
expect { get :index }.to render_template(layout: true)
2008 年 11 月、@david-chelimsky は次のように述べています。
これをうまく処理した 1 つの方法は、この 1 つの例 (独自のグループ内) の integrate_views を使用し、レイアウトの html 要素がフォームに存在しないように指定することです。これは脆い例ですが、それは 1 つのみです。
レンダリングされたビューを確認したくありませんが、これまでのところより良い解決策は見つかりませんでした。
誰かが良いアプローチをしていますか?