Reputation: 211
I want to use the assertions and put valuidations in my ruby code (e.g: checking 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.
Upvotes: 21
Views: 19969
Reputation: 1215
If you're just developing or debugging and need a quick one-liner
throw 'Error message' unless thing == expected
Upvotes: 2
Reputation: 183749
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?
Upvotes: 7
Reputation: 258358
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 }
Upvotes: 32