RSpec - 如何测试扩展类

时间:2013-06-14 13:24:30

标签: ruby-on-rails ruby rspec

我有一个扩展的模型,测试原始类和扩展类的最佳方法是什么? 目前,我只是测试数据集模型。有没有办法在Section内包含数据集测试?或者我只是为添加到Section的任何内容编写测试?

提前致谢。

模型

class Dataset < ActiveRecord::Base
  validates :name, presence: true
  # ...
end

class Section < Dataset
  # ...
end

规格

describe Dataset do
  it "should have a valid name" do
    should validate_presence_of(:name)
  end
  # ...
end

3 个答案:

答案 0 :(得分:3)

我认为最好的办法是为父类提供一组测试,并为子类添加的任何其他行为设置一组单独的测试。在每个类的单独测试中测试共享行为将是多余的并且难以维护。并且在孩子的测试中包括父母测试不一定是必要的 - 一旦经过测试,它就会被测试。

答案 1 :(得分:3)

答案 2 :(得分:1)

首先,这不是扩展类,而是继承类。

如果子类,新方法或覆盖中有任何特殊内容,只需单独测试即可。如果没有什么新内容,测试父类就足够了。