ruby的工厂女孩返回了一个参数错误——为什么?
我的班级被定义为:ruby的工厂女孩返回了一个参数错误——为什么?,ruby,rspec,Ruby,Rspec,我的班级被定义为: class ScheduleKaya < OrchestrateIo def initialize(bot_client_id) @bot_client_id = bot_client_id @collection = :schedules @client = Orchestrate::Client.new(ENV['ORCHESTRATE_API']) end end Rspec as: context "when creating
class ScheduleKaya < OrchestrateIo
def initialize(bot_client_id)
@bot_client_id = bot_client_id
@collection = :schedules
@client = Orchestrate::Client.new(ENV['ORCHESTRATE_API'])
end
end
Rspec as:
context "when creating a new reminder for test-client-id on Feburary 1st 2015" do
let(:schedule) { FactoryGirl.build(:base_schedule)}
Timecop.freeze(Chronic.parse("february 14, 2014 at 10am"))
it "creates an instance of ScheduleKaya" do
expect(schedule).to be_a ScheduleKaya
end
我得到一个参数错误:
Failure/Error: let(:schedule) { FactoryGirl.build(:base_schedule)}
ArgumentError:
wrong number of arguments (0 for 1)
问题:为什么参数是错误的,因为在类中,只需要一个参数就可以初始化,而我在工厂中提供了一个参数。尝试用以下方式定义工厂:
## spec/factories/schedules.rb
FactoryGirl.define do
factory :base_schedule, class: 'ScheduleKaya' do
bot_client_id "test-client-id"
end
end
将
类
名称放入引号中。看看这是否解决了您的问题。尝试用以下方式定义您的工厂:
## spec/factories/schedules.rb
FactoryGirl.define do
factory :base_schedule, class: 'ScheduleKaya' do
bot_client_id "test-client-id"
end
end
将
类
名称放入引号中。查看是否修复了您的问题。< /P>在执行顶层<代码>中的任何地方都可能发生参数错误(例如,在