在rspec中,我可以确保某些示例仅在另一个示例通过时运行吗?

时间:2012-12-30 03:53:23

标签: ruby-on-rails-3 rspec rspec2

我想知道是否可以运行某些示例测试,当且仅当另一个通过时?我知道您可以使用if: something元数据过滤示例,但根据我的理解,something无法在示例中设置,因为示例作为对象实例运行,而示例的声明(其中if: something将会运行示例组的类方法(其他人可能比我更好)。

在代码中,这就是我正在寻找的东西,或类似的东西

describe Something do

  it "has a breadcrumb trail" do
    expect(page).to have_breadcrumb
    has_breadcrumb = true
  end
  it "has the parent name in the breadcrumb", if: has_breadcrumb do
    expect(page).to have_text("somename")
  end
end

这里显然简化了,但动机是我希望能够设置测试,期望依赖于另一个功能的实现。

Rspec 2.12

1 个答案:

答案 0 :(得分:0)

测试的最佳实践是确保您的测试彼此独立。我不确定你想做什么是理想的。