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>在执行顶层<代码>中的任何地方都可能发生参数错误(例如,在的中间),在执行顶层<代码>中的任何地方都可能发生参数错误。(例如在<代码>中间的编排::客户端。新< /代码>)