繁体   English   中英

使用Hyperstack测试时如何绕过策略

[英]How to bypass policies when testing with hyperstack

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

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

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

但是除非通过登录用户真正使测试复杂化(然后它实际上不是单元测试),否则我将看不到如何覆盖该策略。

我试图在before(:all)放一个不同的策略,但是rspec不喜欢那样。

我对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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM