Rails在模型中测试小方法是好的还是坏的做法?

时间:2016-09-22 21:05:36

标签: ruby-on-rails rspec rspec-rails

我有模特:

 class Answer < ActiveRecord::Base

  def pending_edits
    self.edits.where(:is_approved => nil)
  end

  def update_body (new_body)
    update_attributes :old_body => self.body, :body => new_body
  end

  def current_accepted_edit
    edits.find_by(:is_current => true)
  end

1)测试这种方法是否过度和不好做法,因为有这么简单?

但我总是为他们写测试。所以以防万一

2)如果我需要测试它们 - 在我的rspec测试中它是一个好it block description吗?

it 'answer.pending edits_method' do
 some testing code
end

1 个答案:

答案 0 :(得分:3)

您应该测试所有公共方法,无论大小如何。因此,如果可以从类外部调用该方法,那么您将对其进行测试。也就是说,如果将私有/受保护方法用作公共api方法的组合,则不要对其进行测试。编辑以响应您的编辑:我会做

it "returns pending edits" do
end