Module: AppVeyor::Worker::RSpec
- Defined in:
- lib/appveyor/worker/rspec.rb
Class Method Summary collapse
- .add(example) ⇒ Object
- .examples ⇒ Object
- .intercept! ⇒ Object
- .process ⇒ Object
- .report(example) ⇒ Object
- .welcome ⇒ Object
Class Method Details
.add(example) ⇒ Object
26 27 28 29 |
# File 'lib/appveyor/worker/rspec.rb', line 26 def self.add example process examples.push example end |
.examples ⇒ Object
22 23 24 |
# File 'lib/appveyor/worker/rspec.rb', line 22 def self.examples @examples ||= welcome end |
.intercept! ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# 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 ⇒ Object
31 32 33 34 35 36 37 38 39 |
# 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) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 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. rescue nil), ErrorStackTrace: (example.exception.backtrace * "\n" rescue nil) # StdOut: YAML.dump('assertions'=>result.assertions), true end |
.welcome ⇒ Object
2 3 4 5 |
# File 'lib/appveyor/worker/rspec.rb', line 2 def self.welcome ::AppVeyor::Worker. "RSpec seed: #{RSpec.configuration.seed}" [] end |