Webrat имеет неожиданный результат при использовании оператора "если"
Я использовал webrat в своем проекте rails 3.0.7 и пытался написать тест, использующий регулярные выражения. Это должно потерпеть неудачу, но заявление if, кажется, портит результат.
it "should have 'microposts' if 0 posted" do
visit root_path
response.should have_selector('span.microposts') do |span|
if span =~ /\d/
span.should contain('hello')
end
end
end
Тест пытается подтвердить этот тест, но он все еще успешно выполняется, если используется оператор "если". Он пытается сопоставить содержание "0 микросообщений".
Когда я использую эти строки вместо выражения "если":
response.should have_selector('span.microposts') do |counter|
counter.should contain(/hello/)
end
Я получаю, что тест окончательно проваливается, как и положено, но тогда я не могу проверить число перед содержимым внутри диапазона, как я пытался сделать выше.
Разве webrat не передает, если заявления хорошо, или я делаю что-то не так?
Заранее спасибо!
1 ответ
Кажется, вам не хватает end
но я не вижу, как это не будет бомбить.
it "should have 'microposts' if 0 posted" do
visit root_path
response.should have_selector('span.microposts') do |span|
if span =~ /\d/
span.should contain('hello')
end
end
end