class ProxyTester::RspecRunner

Attributes

tags[R]
test_cases_directory[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/proxy_tester/rspec_runner.rb, line 13
def initialize(options = {})
  @test_cases_directory = options.fetch(:test_cases_directory, ProxyTester.config.test_cases_directory)
  @tags                 = options.fetch(:tags, [])
end

Public Instance Methods

run() click to toggle source
# File lib/proxy_tester/rspec_runner.rb, line 18
def run
  ProxyTester.load_user_database
  ProxyTester.clear_environment

  $LOAD_PATH << test_cases_directory
  test_cases.each do |t|
    Dir.chdir t do
      Bundler.setup
      RSpec::Core::Runner.run(arguments)
    end
  end
end
to_s() click to toggle source
# File lib/proxy_tester/rspec_runner.rb, line 31
def to_s
  arguments.join(" ")
end

Private Instance Methods

arguments() click to toggle source
# File lib/proxy_tester/rspec_runner.rb, line 41
def arguments
  options = []
  options = options + ['--require', 'rspec/legacy_formatters' ]
  options << '--color'
  options = options + ['--format', 'Fuubar' ]
  options = options + ['--order', 'rand' ]

  Array(tags).each { |t| options << '--tag'; options << t }

  options << '.'

  options
end
test_cases() click to toggle source
# File lib/proxy_tester/rspec_runner.rb, line 37
def test_cases
  ::Dir.glob(::File.join(test_cases_directory, '*')).keep_if { |d| FileTest.directory? d }
end