我正在尝试使用Factory Girl和Rspec为我的Sinatra应用程序设置单元测试。
宝石文件:
group :test do
gem "rack-test"
gem "fuubar"
gem "factory_girl"
gem "yard"
end
require 'factory_girl'
FactoryGirl.define do
factory :vserver do
first_name "John"
last_name "Doe"
end
end
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
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 app_spec.rb运行rspec文件时,出现以下错误。
NameError:未初始化的常量Vserver
非常感谢帮助。
答案 0 :(得分:0)
代码:factory :vserver do
假设您正在实例化一个名为Vserver
的类。
如果您有这样的课程,那么您需要将其包含在您的规范中。
如果您没有这样的课程,那么您需要重命名工厂,或者告诉它应该实例化哪个类。