module TestHelpers::Wait
Public Class Methods
configuration()
click to toggle source
# File lib/test-helpers/wait/wait.rb, line 3 def self.configuration default_configuration end
configure() { |default_configuration| ... }
click to toggle source
# File lib/test-helpers/wait/wait.rb, line 11 def self.configure yield(default_configuration) if block_given? end
default_configuration()
click to toggle source
# File lib/test-helpers/wait/wait.rb, line 7 def self.default_configuration @configuration ||= Configuration.new end
Public Instance Methods
poll_and_assert(options = {}) { || ... }
click to toggle source
# File lib/test-helpers/wait/wait.rb, line 30 def poll_and_assert(options = {}) return unless block_given? timeout = Float(options[:timeout] || TestHelpers::Wait.default_configuration.wait_timeout) interval = Float(options[:interval] || TestHelpers::Wait.default_configuration.wait_interval) end_time = ::Time.now + timeout failure = nil until ::Time.now > end_time begin result = yield return result if result rescue ::RSpec::Expectations::ExpectationNotMetError => e failure = e sleep interval end end raise failure end
wait_until(options = {}) { || ... }
click to toggle source
# File lib/test-helpers/wait/wait.rb, line 48 def wait_until(options = {}) return unless block_given? timeout = Float(options[:timeout] || TestHelpers::Wait.default_configuration.wait_timeout) interval = Float(options[:interval] || TestHelpers::Wait.default_configuration.wait_interval) error_message = options[:error_message] || TestHelpers::Wait.default_configuration.error_message end_time = ::Time.now + timeout until ::Time.now > end_time begin result = yield return result if result sleep interval rescue ::StandardError sleep interval end end result = yield return result if result raise Timeout::Error.new(error_message) end