Abb*_*ekh 1 rspec ruby-on-rails ruby-on-rails-3 factory-bot
我认为我在使用rails配置FactoryGirl时遇到问题.我最初遵循的是ASCIIcast#275:我如何测试,但是rake正在给我NameError: uninitialized constant ...
我错过了什么吗?是否有可能某些配置文件错误?我是RSpec和Rails的新手.
我使用的Rails 3.2.2 + Mongoid + 的RSpec + factory_girl_rails.
错误:
Failures:
1) User should save user with valid required fields
Failure/Error: let(:user) { FactoryGirl.build(:valid_user) }
NameError:
uninitialized constant ValidUser
# ./spec/models/user_spec.rb:4:in `block (2 levels) in <top (required)>'
# ./spec/models/user_spec.rb:7:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
投机/ factories.rb
FactoryGirl.define do
factory :valid_user do
name 'somename'
email 'a@b.com'
password 'somepassword'
end
end
Run Code Online (Sandbox Code Playgroud)
规格/型号/ user_spec.rb
require 'spec_helper'
describe User do
let(:user) { FactoryGirl.build(:valid_user) }
it "should save user with valid required fields" do
user.should be_valid
end
end
Run Code Online (Sandbox Code Playgroud)
投机/ spec_helper.rb
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.infer_base_class_for_anonymous_controllers = false
config.include FactoryGirl::Syntax::Methods
end
Run Code Online (Sandbox Code Playgroud)
输出整个错误或至少整个第一句通常是有帮助的 - 你甚至没有告诉我们缺少的常数是什么!
更新:感谢整个错误.当您定义工厂:valid_user时,Factory Girl将自动假定它适用于名为的模型ValidUser.要解决这个问题,您可以为工厂命名:user(假设您有User模型),或者您可以尝试:
FactoryGirl.define do
factory :valid_user, :class => User do
name 'somename'
email 'a@b.com'
password 'somepassword'
end
end
Run Code Online (Sandbox Code Playgroud)
或者,如果您想拥有几种不同类型的用户工厂,则可以使用:
FactoryGirl.define do
factory :user do
# set some attrs
end
factory :valid_user, :parent => :user do
name 'somename'
email 'a@b.com'
password 'somepassword'
end
factory :invalid_user, :parent => :user do
# some other attrs
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5447 次 |
| 最近记录: |