0
我正在尋找一種方法來基於聲明特定元素的存在來包含或排除特定的it
塊。
背景:我有一個煙霧測試,查看元素部分的功能。我希望爲其他功能添加更多測試,但只有(如果頁面上存在特定部分,則爲)。我的想法
僞代碼:Rspec和watir-webdriver;基於斷言運行/跳過測試?
describe 'Smoking sections' do
it 'runs test 1' do
# does stuff
end
it 'runs test 2' do
# does more stuff
end
# if foo_section.present? == true do
# run additional tests using `it` blocks
# else
# p "Section not present"
# end
it 'continues doing more tests like normal' do
# does additional tests
end
end
就是這種過濾可能的?
謝謝!這正是我期待的。我同意測試不應該被跳過 - 我目前的目標是繼續添加到我目前的煙霧測試中,直到時間更傾向於重構並將其分解爲更小的規格(即更簡潔)的測試。 – kmancusi
我確實有一個問題:當我設置好規格時,它首先通過我現有的所有「塊」塊,然後通過可跳過的塊。這是否如預期的那樣?我的印象是它會自上而下運行,包括可跳過的部分 – kmancusi
這是預期的。 [執行順序被定義](https://relishapp.com/rspec/rspec-core/docs/command-line/order)作爲例子從上到下,然後從上到下嵌套組。鑑於可跳過的測試是在一個嵌套組中,他們跑到最後。如果您需要將測試按特定順序進行,您可以更改嵌套。 –