Rspec:参数数量错误

时间:2013-11-13 02:28:52

标签: ruby rspec

我是Ruby的新手,也是Rspec的新手,我正在尝试通过以下Rspec代码:

require "#{File.dirname(__FILE__)}/fish"

describe fish do

  before do
    @fish = fish.new(3)
  end

  it "should report the number of fish" do
    @fish.number.should equal 3
  end
end

我正在尝试测试以下代码,出于多种原因我肯定是错的,但是现在我只是试图通过“错误数量的参数(1为0)”错误“:

class fish
  def intialize n
    @number = n
  end
end

2 个答案:

答案 0 :(得分:1)

你的班级定义拼写错误initialize(错过了n之后的i。)

因此,您的类仍然具有默认构造函数,因为您没有覆盖它。 默认构造函数不带参数,因此当您尝试传递3时抱怨。

答案 1 :(得分:1)

我注意到了几件事情......

  1. 我建议您使用括号,直到习惯Ruby的语法。

  2. 您班上的拼写错误initialize

  3. 使用大写Fish初始化Fish(以及类F),


  4. describe fish do
      before do
        @fish = Fish.new(3)
      end
    
      it "should report the number of fish" do
        @fish.number.should equal(3)
      end
    end
    
    
    class Fish
      def intialize n
        @number = n
      end
    end