コントローラーからのインスタンス変数に応じて、異なるパーシャルをレンダリングしたいとします。次のようなヘルパー メソッドにロジックを入れます。
def display_my_partial(foo)
foo == bar ? render(partial_x) : render(partial_y)
end
そして私が呼び出すビューで(Slimを使用して):
= display_my_partial(@foo)
私のテストはどのように見えるべきですか?私は次のようなものを試しました:
expect(display_my_partial(foo)).to render(partial: 'partial_x')
しかし得た:
NoMethodError:
undefined method `matches?' for #<ActiveSupport::SafeBuffer:0x007ffb490aba80>
私のパーシャルはネストされた名前空間にあるため、私の例はもう少し複雑です。render 'partial_x'
仕様で動作させるには、usind vsだけで少し実験する必要がrender partial: 'namespace/model/partial_x'
ありましたが、最終的に上記のエラーが発生しました。
では、これをどのようにテストしますか?