Ruby on rails Rails测试规范不会构建我的用户模型

Ruby on rails Rails测试规范不会构建我的用户模型,ruby-on-rails,testing,automated-tests,integration-testing,Ruby On Rails,Testing,Automated Tests,Integration Testing,Rails测试的活动部件太多,有时很难调试失败的测试 作为一个例子,我试图使用宙斯、卫兵、rspec、水豚、恶灵、幻影和FactoryGirl来简单地构建一个用户工厂 我遇到以下错误消息: spec/models/user.rb require 'spec_helper' describe User do describe 'Factories' do it { expect(build :user).to be_valid } end end FactoryGirl.def

Rails测试的活动部件太多,有时很难调试失败的测试

作为一个例子,我试图使用宙斯、卫兵、rspec、水豚、恶灵、幻影和FactoryGirl来简单地构建一个用户工厂

我遇到以下错误消息:

spec/models/user.rb

require 'spec_helper'

describe User do
  describe 'Factories' do
    it { expect(build :user).to be_valid }
  end
end
FactoryGirl.define do

  factory :user do
    sequence(:email)      { |n| Forgery(:internet).email_address }
    sequence(:company)    { |n| Forgery(:name).company_name }
    password              "password"
    password_confirmation "password"
  end
end
spec/factories/users.rb

require 'spec_helper'

describe User do
  describe 'Factories' do
    it { expect(build :user).to be_valid }
  end
end
FactoryGirl.define do

  factory :user do
    sequence(:email)      { |n| Forgery(:internet).email_address }
    sequence(:company)    { |n| Forgery(:name).company_name }
    password              "password"
    password_confirmation "password"
  end
end
现在,我有一个请求规范在以下行失败,这是开始时的设置:

let!(:user) { login_user }
失败在于:

 Failure/Error: let!(:user) { login_user }
 NoMethodError:
   undefined method `last_logged_in_at=' for #<User:0x007fe60aca95e8>
 # ./app/models/user.rb:136:in `set_login_time'
 # ./app/controllers/sessions_controller.rb:24:in `create'
 # ./spec/support/login_macros.rb:7:in `login_user'
 # ./spec/requests/app_integration_spec.rb:5:in `block (2 levels) in <top (required)>'
 # ./custom_plan.rb:12:in `spec'
 # -e:1:in `<main>'

错误保持不变。测试根本找不到此属性。请记住,这段代码在浏览器中非常有效。我不适合。我哪里出错了?

您的测试数据库模式是最新的吗

rake db:test:prepare

在添加硬材料之前,请先学习原始测试。然后尽可能频繁地运行测试,最好是在IDE中击键。那么,当测试失败最有可能引用最新编辑的代码时,就很容易诊断了?另外,请发布登录用户的定义