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