如何在 Rspec 中测试来自 CanCanCan 的消息?

How to test message from CanCanCan in Rspec?

我正在寻找测试来自 CanCanCan 的消息的方法 gem。

def my
  authorize! :my_words, word, message: I18n.t("messages.login_to_add_new_word")
end

类似的东西?

it "sets flash message" do
  expect(message???).to eq I18n.t("messages.login_to_add_new_word")
end

authorize! 方法会引发 CanCanCan::AccessDenied 错误,因此您可以对其进行测试。

it 'raises error' do
  expect { my }.to raise_error(I18n.t("messages.login_to_add_new_word"))
end