Sha256: ea4310b170eebfc238eae3296841ecf130d2675679c9a3d9823567824ba56543
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
require 'teabag/formatters/base_formatter' module Teabag module Formatters class TeamcityFormatter < BaseFormatter def runner(result) log "##teamcity[testSuiteStarted name='Jasmine']" end def spec(result) log "##teamcity[testStarted name='#{escape result.description}' captureStandardOutput='false']" unless result.passing? || result.pending? log "##teamcity[testFailed name='#{escape result.description}' message='#{escape result.message}']" end log "##teamcity[testFinished name='#{escape result.description}']" end def error(error) log "##teamcity[message text='#{escape error.message}' errorDetails='#{escape format_trace(error.trace)}' status='ERROR']" end def result(result) log "##teamcity[testSuiteFinished name='Jasmine']" end def suppress_logs? true end private def log(str) STDOUT.print("#{str}\n") end def escape(str) { /\|/m => "||", /'/m => "|'", /\n/m => "|n", /\r/m => "|r", /\[/m => "|[", /\]/m => "|]", }.inject(str) do |result, (regex, sub)| result.gsub(regex, sub) end end def format_trace(trace) trace.map { |line| ["#{line['file']}:#{line['line']}", line['function']].compact.join(' ') }.join("\n") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
teabag-0.7.3 | lib/teabag/formatters/teamcity_formatter.rb |