Webrat имеет неожиданный результат при использовании оператора «если» - PullRequest
0 голосов
/ 19 июня 2011

Я использую 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

Я получаю, что тест окончательно проваливается, как и предполагалось, но тогда я не могу проверить число перед содержимым внутри диапазона, как я пытался сделать выше.

Разве вебрат не передает, если заявления хорошо, или я делаю что-то не так?

Заранее спасибо!

1 Ответ

0 голосов
/ 19 июня 2011

Кажется, вам не хватает 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
...