如何在rails模型中的构造函数中使用参数

bas*_*eps 3 ruby tdd rspec ruby-on-rails

我试图用RSpec学习tdd.我从网上找到的备忘单中拿了这个例子,我对如何实现它感到有点困惑.添加MovieList.new是自动的,但是如果已经使用ActiveRecord处理参数,我将如何添加参数.然后添加"前进"方法.

describe "forward" do
  it "should jump to a next movie" do
    next_movie = MovieList.new(2).forward
    next_movie.track_number.should == 2
  end
end
Run Code Online (Sandbox Code Playgroud)

Dem*_*ryT 5

如果这是对MovieList类的测试,请创建一个名为MovieList的类.

然后在该类的构造函数中,确保它在您的测试中接受名为track_number的参数,即2.

然后创建一个名为forward的方法来做你需要做的事情吗?

这是一个很好的例子,说明我要去的地方:http: //rspec.info/

这可能听起来很模糊,但问题也是如此.


编辑: 这是如何创建一个新的MovieList类并使用一个名为track_number的参数初始化它的粗略概念.

def MovieList
  attr_accessor :track_number

  def initialize(track_number)
    @track_number = track_number
  end

  # You can define all your class methods below, you 
  # can start with forward.

  def forward
    # do something...
  end 

end
Run Code Online (Sandbox Code Playgroud)