使用hyperstack进行测试时如何绕过策略

问题描述 投票:0回答:1

我正在尝试使用hyperstack和hyperspec进行一些组件单元测试。

问题是我有阻止测试运行的策略?

例如,我有一个政策,只有用户可以查看自己的订单。

但除非我真的通过登录用户(然后它不是一个单元测试)使测试复杂化,否则我无法看到如何覆盖策略。

我尝试在before(:all)中制定不同的政策,但rspec不喜欢这样。

ruby-on-rails ruby reactjs hyperstack
1个回答
1
投票

我不熟悉rspec,但你应该能够模拟用户类来假装它已登录。(或者模拟报告登录状态的任何对象)。

例如,如果你使用rr,你可以做类似的事情

any_instance_of(User) do |klass|
  stub(klass).logged_in? { true }
end

浏览rspec文档,看起来你可能会做这样的事情。

allow_any_instance_of(User).to receive(:logged_in?).and_return(true)
© www.soinside.com 2019 - 2024. All rights reserved.