Class: SpecTracker::ReportTask

Inherits:
Object
  • Object
show all
Defined in:
lib/spec_tracker/report_task.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeReportTask

Returns a new instance of ReportTask.



5
6
7
8
9
10
11
# File 'lib/spec_tracker/report_task.rb', line 5

def initialize
  spec_type = SpecTracker.configuration.spec_type
  @spec_parser = (spec_type == %q{gherkin}) ? SpecParser::GherkinParser.new : SpecParser::CSVParser.new
  @test_report_parser = TestReportParser::JUnit::Parser.new
  @report_mapper = Reporter::ReportMapper.new
  @reporter = Reporter::Terminal::Reporter.new
end

Instance Attribute Details

#report_mapperObject (readonly)

Returns the value of attribute report_mapper.



3
4
5
# File 'lib/spec_tracker/report_task.rb', line 3

def report_mapper
  @report_mapper
end

#reporterObject (readonly)

Returns the value of attribute reporter.



3
4
5
# File 'lib/spec_tracker/report_task.rb', line 3

def reporter
  @reporter
end

#spec_parserObject (readonly)

Returns the value of attribute spec_parser.



3
4
5
# File 'lib/spec_tracker/report_task.rb', line 3

def spec_parser
  @spec_parser
end

#test_report_parserObject (readonly)

Returns the value of attribute test_report_parser.



3
4
5
# File 'lib/spec_tracker/report_task.rb', line 3

def test_report_parser
  @test_report_parser
end

Instance Method Details

#executeObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/spec_tracker/report_task.rb', line 13

def execute
  specifications = spec_parser.parse(SpecTracker.configuration.spec_path)
  test_results = test_report_parser.parse(SpecTracker.configuration.test_report_path)
  specifications.map do |specification|
    report = report_mapper.map(
      topic: specification.topic,
      scenarios: specification.scenarios,
      test_results: test_results
    )
    reporter.print(report)
  end
end