class Publisher::ReportGenerator

Allure report generator

Attributes

report_path[R]
results_glob[R]
results_path[R]

Public Class Methods

new(results_glob, results_path, report_path) click to toggle source
# File lib/allure_report_publisher/lib/report_generator.rb, line 13
def initialize(results_glob, results_path, report_path)
  @results_glob = results_glob
  @results_path = results_path
  @report_path = report_path
end

Public Instance Methods

generate() click to toggle source

Generate allure report

@return [void]

# File lib/allure_report_publisher/lib/report_generator.rb, line 22
def generate
  aggregate_results
  generate_report
end

Private Instance Methods

aggregate_results() click to toggle source

Copy all results files to results directory

@return [void]

# File lib/allure_report_publisher/lib/report_generator.rb, line 34
def aggregate_results
  results = Dir.glob(results_glob)
  raise(NoAllureResultsError, "Missing allure results") if results.empty?

  FileUtils.cp(results, results_path)
end
generate_report() click to toggle source

Generate allure report

@return [void]

# File lib/allure_report_publisher/lib/report_generator.rb, line 44
def generate_report
  out, _err, status = Open3.capture3(
    "allure generate --clean --output #{report_path} #{results_path}"
  )
  raise(AllureError, out) unless status.success?
end