как поставить утверждения в коде ruby - PullRequest
17 голосов
/ 16 июля 2010

Я хочу использовать утверждения и поместить оценки в мой код ruby ​​(например, проверить, создан ли zip-файл, присутствует ли метка, есть ли сообщение в текстовой области и т. Д.). Я поместил несколько утверждений assert, например assert @selenium.is_text_present(textMessage), но они не работают.

Пожалуйста, дайте мне знать, если какой-нибудь рубиновый камень для утверждений должен быть установлен.

Ответы [ 2 ]

25 голосов
/ 16 июля 2010

Для простых утверждений вам, вероятно, лучше всего использовать собственный метод подтверждения, взяв блок:

ruby-1.9.1-p378 > class AssertionError < RuntimeError
ruby-1.9.1-p378 ?>  end
 => nil 
ruby-1.9.1-p378 > def assert &block
ruby-1.9.1-p378 ?>  raise AssertionError unless yield
ruby-1.9.1-p378 ?>  end
 => nil 
ruby-1.9.1-p378 > assert { 1 > 0 }
 => nil 
ruby-1.9.1-p378 > assert { 5 == 12 }
AssertionError: AssertionError
    from (irb):8:in `assert'
    from (irb):11
    from /Users/mr/.rvm/rubies/ruby-1.9.1-p378/bin/irb:17:in `<main>'

В копиастабильном виде:

class AssertionError < RuntimeError
end

def assert &block
    raise AssertionError unless yield
end

i = 1
assert {i >= 0}
assert { 5 == 12 }
4 голосов
/ 20 ноября 2014
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...