Factory Girl: NameError: uninitialized constant Vserver
Factory Girl: NameError: uninitialized constant Vserver
我正在尝试使用 Factory Girl 和 Rspec 为我的 Sinatra 应用程序设置单元测试。
Gem 文件:
group :test do
gem "rack-test"
gem "fuubar"
gem "factory_girl"
gem "yard"
end
spec/factories/vserver.rb
require 'factory_girl'
FactoryGirl.define do
factory :vserver do
first_name "John"
last_name "Doe"
end
end
spec/spec_helper.rb
require File.join(File.dirname(__FILE__), "..", "app.rb")
%w{
rubygems
sinatra
dm-core
rack/test
uuid
factory_girl
rspec
pp
spec/factories/vserver
}.each { |r| require r }
set :environment, :test
# RSpec without Rails
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
end
spec/app_spec.rb
require './spec_helper.rb'
require 'factory_girl'
describe "Cdot" do
include Rack::Test::Methods
def app
StorageApi
end
it 'vserver' do
FactoryGirl.build(:vserver)
end
end
问题:当我使用命令 运行 rspec 文件时:rspec app_spec.rb,出现以下错误。
NameError:未初始化常量 Vserver
非常感谢您的帮助。
代码:factory :vserver do
假定您有一个名为 Vserver
的 class,您正在实例化。
如果您有这样的 class,那么您需要将其包含在您的规范中。
如果您没有这样的 class,那么您要么需要重命名工厂,要么告诉它 class 它应该实例化什么。
我正在尝试使用 Factory Girl 和 Rspec 为我的 Sinatra 应用程序设置单元测试。
Gem 文件:
group :test do
gem "rack-test"
gem "fuubar"
gem "factory_girl"
gem "yard"
end
spec/factories/vserver.rb
require 'factory_girl'
FactoryGirl.define do
factory :vserver do
first_name "John"
last_name "Doe"
end
end
spec/spec_helper.rb
require File.join(File.dirname(__FILE__), "..", "app.rb")
%w{
rubygems
sinatra
dm-core
rack/test
uuid
factory_girl
rspec
pp
spec/factories/vserver
}.each { |r| require r }
set :environment, :test
# RSpec without Rails
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
end
spec/app_spec.rb
require './spec_helper.rb'
require 'factory_girl'
describe "Cdot" do
include Rack::Test::Methods
def app
StorageApi
end
it 'vserver' do
FactoryGirl.build(:vserver)
end
end
问题:当我使用命令 运行 rspec 文件时:rspec app_spec.rb,出现以下错误。
NameError:未初始化常量 Vserver
非常感谢您的帮助。
代码:factory :vserver do
假定您有一个名为 Vserver
的 class,您正在实例化。
如果您有这样的 class,那么您需要将其包含在您的规范中。
如果您没有这样的 class,那么您要么需要重命名工厂,要么告诉它 class 它应该实例化什么。