Method: Allure#run_step

Defined in:
lib/allure-ruby-commons.rb

#run_step(name) { ... } ⇒ Object

Run passed block as step with given name and return result of yield

Yields:

  • step block

Parameters:

Returns:



222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
# File 'lib/allure-ruby-commons.rb', line 222

def run_step(name)
  lifecycle.start_test_step(StepResult.new(name: name, stage: Stage::RUNNING))
  result = yield
  lifecycle.update_test_step { |step| step.status = Status::PASSED }

  result
rescue StandardError, configuration.failure_exception => e
  lifecycle.update_test_step do |step|
    step.status = ResultUtils.status(e)
    step.status_details = ResultUtils.status_details(e)
  end
  raise(e)
ensure
  lifecycle.stop_test_step
end