FactoryGirl + Mongoid + RSpec没有正确构造对象。

时间:2013-07-02 04:03:23

标签: ruby-on-rails rspec mongoid factory-bot

我正在尝试在我的应用中设置测试,并且我遇到了RSpec,FactoryGirl和Mongoid的问题。我有以下工厂:

FactoryGirl.define do
  factory :user do |u|
    u.name             { Faker::Name.name }
    u.email            { Faker::Internet.email }
    u.crypted_password { Faker::Lorem.characters(10) }
    u.password_salt    { Faker::Lorem.characters(10) }
    u.role             :user
  end
end

我尝试在我的测试中使用这个工厂:

require 'spec_helper'
describe User do
  it "has a valid factory" do
    create(:user).should be_valid
  end
end

但是我收到了这个错误:

  1) User has a valid factory
     Failure/Error: FactoryGirl.create(:user).should be_valid
     NoMethodError:
       undefined method `user' for #<User:0x007ff24a119b28>
     # ./spec/models/user_spec.rb:5:in `block (2 levels) in <top (required)>'

我不知道导致此错误的原因。另外,有没有办法使用rspec查看完整的堆栈跟踪?

1 个答案:

答案 0 :(得分:2)

此行有问题

u.role :user

我想您要将默认角色定义为&#34; user&#34;?然后不要使用符号或方法,而是使用字符串

u.role 'user'