Ruby on rails Rails在模型中测试小方法是好的还是坏的做法?
我有一个模型:Ruby on rails Rails在模型中测试小方法是好的还是坏的做法?,ruby-on-rails,rspec,rspec-rails,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_ed
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
您应该测试所有公共方法,而不考虑大小。因此,如果可以从类外部调用该方法,那么您可以对其进行测试。也就是说,如果私有/受保护方法被用作公共api方法的组合,则不要测试它们。编辑回应你的编辑:我愿意
it "returns pending edits" do
end
您应该测试所有公共方法,而不考虑大小。因此,如果可以从类外部调用该方法,那么您可以对其进行测试。也就是说,如果私有/受保护方法被用作公共api方法的组合,则不要测试它们。编辑回应你的编辑:我愿意
it "returns pending edits" do
end
这要看情况而定,你认为这个非常小的规范会为你的测试套件增加一些有用的东西吗?如果答案是肯定的:去做,如果答案是否定的:不要去做,如果你不能决定:不管怎样,如果你不确定拥有它比不拥有它更好这真的取决于你,你认为这个非常小的规范会给你的测试套件增加一些有用的东西吗?如果答案是肯定的:做吧,如果答案是否定的:不要做,如果你不能决定:无论如何,如果你不确定拥有它比不拥有它更好,那么就去做吧