class Actir::ParallelTests::HtmlReport

Public Class Methods

new(file) click to toggle source
# File lib/actir/parallel_tests/report/html_reporter.rb, line 7
def initialize(file)
  @testsuites = $testsuites
  @testsuite_number = 0
  @testcase_number = 0
  @failure_number = 0
  # @duration = 0
  @formatter = HtmlFormatter.new(file)

  result_print
end

Public Instance Methods

report_start() click to toggle source
# File lib/actir/parallel_tests/report/html_reporter.rb, line 32
def report_start
  @formatter.print_html_start
  @formatter.flush
end
result_print() click to toggle source
# File lib/actir/parallel_tests/report/html_reporter.rb, line 18
def result_print
  # 没有result信息
  return 0 if @testsuites == nil

  report_start
  @testsuites.each do |testsuite|
    testsuite_print(testsuite)
  end

  summary = {:testcase_count => @testcase_number, 
             :failure_count => @failure_number}
  summary_print(summary)
end
summary_print(summary) click to toggle source
# File lib/actir/parallel_tests/report/html_reporter.rb, line 73
def summary_print(summary)
  @formatter.print_summary(
    # summary[:duration],
    summary[:testcase_count],
    summary[:failure_count]
  )
  @formatter.flush
end
testcase_failed_print(testsuit_name, testcase_name, details) click to toggle source
# File lib/actir/parallel_tests/report/html_reporter.rb, line 59
def testcase_failed_print(testsuit_name, testcase_name, details)
  @testcase_number += 1
  @failure_number += 1

  unless @testsuite_red
    @testsuite_red = true
    @formatter.make_testsuite_header_red(@testsuite_number)
  end

  @formatter.print_testcase_failed(testsuit_name, testcase_name, details, @failure_number)
  @formatter.flush
end
testcase_passed_print(testcase_name) click to toggle source
# File lib/actir/parallel_tests/report/html_reporter.rb, line 53
def testcase_passed_print(testcase_name)
  @testcase_number += 1
  @formatter.print_testcase_passed(testcase_name)
  @formatter.flush
end
testsuite_print(testsuite) click to toggle source
# File lib/actir/parallel_tests/report/html_reporter.rb, line 37
def testsuite_print(testsuite)
  @testsuite_red = false
  @testsuite_number += 1
  @formatter.print_testsuite_start(@testsuite_number, testsuite[:testsuite_name])
  testcases = testsuite[:testcases] 
  testcases.each do |testcase|
    if(testcase[:success] == true)
      testcase_passed_print(testcase[:testcase_name])
    else
      testcase_failed_print(testsuite[:testsuite_name], testcase[:testcase_name], testcase[:detail])
    end
  end
  @formatter.print_testsuite_end
  @formatter.flush
end