Я перебираю древовидный элемент управления на веб-странице.Нажатие на некоторые узлы в дереве изменит содержимое в FRAME_C, нажатие на другие не будет.Как отфильтровать тест, чтобы он запускался только после изменения содержимого?Вот что я пытаюсь:
def viewDifferent?
if $prvView != $curView
return true
else
return false
end
end
...
describe "Exercising View" do
it "clicks a node in the tree control" do
$prvView = $b.frame( :id, 'FRAME_C').document.body.innertext
Timeout.timeout(50) do
spn.fire_event('onmouseup')
end
$curView = $b.frame( :id, 'FRAME_C').document.body.innertext
end
it "Runs only if the view is different", :if => viewDifferent? do
puts "Doing some stuff."
end
end
Моя проблема в том, что RSpec оценивает фильтр для всех моих тестов перед выполнением любого из них.В приведенном выше примере viewDifferent?всегда будет (и возвращает) значение false, так как две глобальные переменные еще не были установлены в предыдущем тесте.
Есть ли способ сделать то, что я спрашиваю?Я пытался понять это в течение нескольких дней.