小编典典

RSpec 中的测试模块

all

在 RSpec 中测试模块的最佳实践是什么?我有一些模块包含在几个模型中,现在我只是对每个模型进行重复测试(几乎没有差异)。有没有办法把它弄干?


阅读 84

收藏
2022-08-02

共1个答案

小编典典

我在 rspec 主页找到了更好的解决方案。显然它支持共享示例组。来自https://www.relishapp.com/rspec/rspec-
core/v/2-13/docs/example-groups/shared-
examples!

共享示例组

您可以创建共享示例组并将这些组包含到其他组中。

假设您有一些行为适用于产品的所有版本,无论大小。

首先,分解“共享”行为:

shared_examples_for "all editions" do   
  it "should behave like all editions" do   
  end 
end

然后,当您需要为大版本和小版本定义行为时,请使用 it_should_behave_like() 方法引用共享行为。

describe "SmallEdition" do  
  it_should_behave_like "all editions"
  it "should also behave like a small edition" do   
  end 
end
2022-08-02