Class: Actir::ParallelTests::HtmlReport

Inherits:
Object
  • Object
show all
Defined in:
lib/actir/parallel_tests/report/html_reporter.rb

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ HtmlReport

Returns a new instance of HtmlReport.



7
8
9
10
11
12
13
14
15
16
# 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

Instance Method Details

#report_startObject



32
33
34
35
# File 'lib/actir/parallel_tests/report/html_reporter.rb', line 32

def report_start
  @formatter.print_html_start
  @formatter.flush
end

#result_printObject



18
19
20
21
22
23
24
25
26
27
28
29
30
# 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) ⇒ Object



73
74
75
76
77
78
79
80
# 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) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
# 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) ⇒ Object



53
54
55
56
57
# 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) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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