gpt4 book ai didi

ruby-on-rails - Rspec Controller 测试没有命中我的 Controller 操作

转载 作者:数据小太阳 更新时间:2023-10-29 07:55:19 24 4
gpt4 key购买 nike

我向 Controller 添加了一个 import 方法,当我从我的网站手动测试它时它工作正常,但它在 rspec 中失败了。这是我的测试结果:

require 'spec_helper'

describe PropertiesController do
let!(:user) { FactoryGirl.create(:user) }

before :each do
sign_in user
end

describe "should upload user properties" do
before do
post :import, spreadsheet: fixture_file_upload("/files/property_upload_template.xlsx")
end

it "should have created records" do
expect(Property.count).to eq 3
# Some other assertions
end
end
end

当我在我的导入操作中添加 puts 语句时,包括在第一行,它们显然都没有被调用。除了断言失败之外,测试没有产生任何错误。同样,当我查看 test.log 文件时,所发生的只是创建了我的测试用户(并发送了一封设计确认电子邮件),但似乎从未执行过导入操作。测试服务器似乎可以很好地识别路由,但实际上并没有执行操作。

我的测试配置有问题吗?

最佳答案

我已经苦思冥想了好几个小时,但我刚刚弄明白了。我需要 confirm the user in my user factory .我想因为我在设计中启用了 confirmable 模块,并且用户没有被确认,所以它默默地不允许我进行身份验证......

...如果 rspec/rails/devise 生成某种错误并指出这里的问题,那就太好了。

为了完整起见,我在撰写本文时添加了用于在 FactoryGirl 版本中确认用户的代码:

FactoryGirl.define do
factory :confirmed_user, :parent => :user do
after(:create) { |user| user.confirm! }
end
end

关于ruby-on-rails - Rspec Controller 测试没有命中我的 Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34917208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com