Ruby on rails 3 在Rails中测试默认范围
全部。 我很难用默认范围为我的模型编写测试。我有一个属性为active_status的用户模型,管理员可以更改它。我将用户的默认作用域活动状态设置为true。我在管理页面中使用了unscoped的默认范围(:active_status=>true),以便管理员可以看到所有用户。 如何编写此测试?Ruby on rails 3 在Rails中测试默认范围,ruby-on-rails-3,testing,rspec,Ruby On Rails 3,Testing,Rspec,全部。 我很难用默认范围为我的模型编写测试。我有一个属性为active_status的用户模型,管理员可以更改它。我将用户的默认作用域活动状态设置为true。我在管理页面中使用了unscoped的默认范围(:active_status=>true),以便管理员可以看到所有用户。 如何编写此测试? 谢谢听起来您需要做的就是为管理页面编写一个测试,创建一个非活动用户,并验证当管理页面加载时,是否返回一个结果。。。我遗漏了什么吗?你可以这样说: context "scopes" do descri
谢谢听起来您需要做的就是为管理页面编写一个测试,创建一个非活动用户,并验证当管理页面加载时,是否返回一个结果。。。我遗漏了什么吗?你可以这样说:
context "scopes" do
describe "default_scope" do
before do
create(:user, active_status: true)
create(:user, active_status: false)
}
context "with default scope" do
subject { User.all }
it { should have(1).user }
end
context "without default scope" do
subject { User.unscoped.all }
it { should have(2).users }
end
end
end
注意:我正在使用和
No.2:您可以将此视为反模式,因为Debug TSCAPE是受保护的方法。但这是你要求的