module AppVeyor::Worker::RSpec
Public Class Methods
add(example)
click to toggle source
# File lib/appveyor/worker/rspec.rb, line 26 def self.add example process examples.push example end
examples()
click to toggle source
# File lib/appveyor/worker/rspec.rb, line 22 def self.examples @examples ||= welcome end
intercept!()
click to toggle source
# File lib/appveyor/worker/rspec.rb, line 41 def self.intercept! this = self RSpec.configure do |config| config.before :each do |example| this.add example end config.after :all do this.process end end end
process()
click to toggle source
# File lib/appveyor/worker/rspec.rb, line 31 def self.process ex = examples @examples = [] ex.each do |example| unless report example examples.push example end end end
report(example)
click to toggle source
# File lib/appveyor/worker/rspec.rb, line 7 def self.report example res = example.execution_result return unless res.status ::AppVeyor::Worker.test testFramework: 'RSpec', testName: example.full_description, fileName: example.location, outcome: ({passed: 'Passed', failed: 'Failed', pending: 'Ignored'}[res.status] || '?'), durationMilliseconds: res.run_time*1000, ErrorMessage: (example.exception.message rescue nil), ErrorStackTrace: (example.exception.backtrace * "\n" rescue nil) # StdOut: YAML.dump('assertions'=>result.assertions), true end
welcome()
click to toggle source
# File lib/appveyor/worker/rspec.rb, line 2 def self.welcome ::AppVeyor::Worker.message "RSpec seed: #{RSpec.configuration.seed}" [] end