我向控制器添加了一个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
方法,当我从我的网站手动测试时,它工作得很好,但它在rspec中失败了。以下是我的测试结果:
puts
当我在导入操作中添加$scope.SAP = 0
语句时,包括在第一行,显然没有调用它们。除了断言失败之外,测试不会产生任何错误。类似地,当我查看test.log文件时,所有发生的事情都是我的测试用户的创建(并且发送了设备确认电子邮件),但似乎没有点击导入操作。测试服务器似乎认识到路线很好,但它实际上并没有执行动作。
我的测试配置有问题吗?
答案 0 :(得分:4)
我一直在敲我的头几个小时,但我只想出来了。我需要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