我正在尝试使用 RSpec 学习 tdd。我从网上找到的备忘单中获取了这个示例,但对于如何实现它有点困惑。添加 MovieList.new 是自动的,但是当它已经用 ActiveRecord 处理时,我将如何添加参数。然后还要添加 'forward' 方法。
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
最佳答案
如果这是对 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
关于ruby-on-rails - 如何在 Rails 模型的构造函数中使用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8405600/