0

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

提前致谢。

楷模

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
4

3 回答 3

3

我认为最好的办法是为父类设置一组测试,并为子类添加的任何其他行为设置一组单独的测试。在每个类的单独测试中测试共享行为将是多余的并且难以维护。并且不应该在孩子的测试中包含父母测试——一旦测试,它就被测试了。

于 2013-06-14T13:28:34.253 回答
3

您可以使用共享示例组:

https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/example-groups/shared-example-group

于 2013-06-14T15:31:31.903 回答
1

起初,这不是扩展类,而是继承类。

如果子类、新方法或覆盖有什么特别之处,单独测试即可。如果没有什么新东西,测试父类就足够了。

于 2013-06-14T13:43:10.783 回答