我想知道是否有可能使某些示例測試運行,當且僅當另一個測試通過?我知道你可以使用if: something
元數據過濾示例,但根據我的理解,something
不能在示例中設置,因爲示例操作爲對象實例,而示例的聲明(其中if: something
將在示例組的類方法中操作) (其他人可能比我更好地舉例說明)。在rspec中,我是否可以確保某些示例僅在另一個示例通過時才運行?
在代碼中,這就是我要找的,或者類似的東西
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
標準做法是將尚未實現的功能的規格標記爲「掛起」。 – Dmitry
我的想法可以回答這個問題是測試視圖時。有一個測試看看是否存在一個表單。然後,之後,對於應該在表單內的每個字段進行測試。如果表單字段的測試失敗,我不想查看錶單中的字段是否存在。這會減少故障輸出,並且更容易查明問題。 – fotanus