Я использую 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 микросообщений».
Когда я использую эти строки вместо оператора if:
response.should have_selector('span.microposts') do |counter|
counter.should contain(/hello/)
end
Я получаю, что тест окончательно проваливается, как и предполагалось, но тогда я не могу проверить число перед содержимым внутри диапазона, как я пытался сделать выше.
Разве вебрат не передает, если заявления хорошо, или я делаю что-то не так?
Заранее спасибо!