0

我正在尝试在我的应用程序中设置测试,但我遇到了 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 查看完整的堆栈跟踪?

4

1 回答 1

2

这条线有问题

u.role :user

我猜您想将默认角色定义为“用户”?然后不要使用符号或方法,而是使用字符串

u.role 'user'
于 2013-07-02T04:50:34.303 回答