Sha256: ce7af3dd0c12eea8f186cfe4d63d6b3312acfbb6ccb905130a12dc0742529c16

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

module AppVeyor::Worker::RSpec
  def self.welcome
    ::AppVeyor::Worker.message "RSpec seed: #{RSpec.configuration.seed}"
    []
  end

  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
      #   StdOut: YAML.dump('assertions'=>result.assertions),
      #   ErrorStackTrace: (result.failure.backtrace * "\n" rescue nil)

    true
  end

  def self.examples
    @examples ||= welcome
  end

  def self.add example
    process
    examples.push example
  end

  def self.process
    ex = examples
    @examples = []
    ex.each do |example|
      unless report example
        examples.push example
        end
    end
  end

  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

  intercept! if defined? RSpec
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
appveyor-worker-0.2.0 lib/appveyor/worker/rspec.rb