I want to use the assertions and put valuidations in my ruby code (e.g: che开发者_高级运维cking if a zip file is created, label is present, message in the text area, etc). I have put a few assert statements like assert @selenium.is_text_present(textMessage)
, but they don't work.
Please let me know if any ruby gem for assertions is to be installed.
For simple asserts, you're probably best off rolling your own assert method taking a block:
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>'
In copypastastable form:
class AssertionError < RuntimeError
end
def assert &block
raise AssertionError unless yield
end
i = 1
assert {i >= 0}
assert { 5 == 12 }
Use the solid_assert gem to add assertions to Ruby.
See:
solid_assert: A simple Ruby assertion
utility
Is it idiomatic Ruby to add an assert( ) method to Ruby's Kernel
class?
If you're just developing or debugging and need a quick one-liner
throw 'Error message' unless thing == expected
精彩评论