首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用rspec测试策略

用rspec测试策略
EN

Stack Overflow用户
提问于 2022-10-19 20:18:50
回答 1查看 42关注 0票数 1

我对卡片有这个策略,只是我使用范围,它非常简单,但是一旦我尝试用rspec进行测试,我就会收到错误,我正在粘贴我的代码,下面是错误:

这是测试,我正在创建用户、卡片和范围,我不知道如何解决,对我来说一切都好,请用错误来帮助实现。

代码语言:javascript
复制
require 'rails_helper'

RSpec.describe CardPolicy, type: :policy do
  let(:card) {  FactoryBot.build_stubbed :card }
  let(:scope) { Pundit.policy_scope(user, Card.all) }
    
  describe "Scope" do
    context 'admin user' do
      let(:user) { User.new(role: 'admin') }
      it 'allows access to all the reports' do
        expect(scope).to match_array([card])
      end
    end
  end
end

这是一个错误:

失败/错误:包含的实际集合:[]

我认为这是错误,因为范围是空的:

代码语言:javascript
复制
let(:scope) { Pundit.policy_scope(user, Card.all) }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-19 20:43:14

Pundit.policy_scope(user, card)中,您将一个卡片的实例传递给policy_scope,该实例不太可能响应all

尝试使用多个卡片/项目(例如,类似于Card.all的东西)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74131422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档