class Testcube::Adapters::RSpecAdapter

Public Instance Methods

bind_save_report() click to toggle source
# File lib/testcube/adapters/rspec_adapter.rb, line 29
def bind_save_report
  adapter = self
  ::RSpec.configure do |config|
    config.after(:suite) do
      Testcube::Report.save(adapter.api_key)
    end
  end
end
bind_time_tracker() click to toggle source
# File lib/testcube/adapters/rspec_adapter.rb, line 7
def bind_time_tracker
  # TODO: we need to filter testcube from rspec backtraces
  ::RSpec.configure do |config|
    config.around(:each) do |example|
      Testcube.tracker.current_test_path = example.metadata[:file_path]
      Testcube.tracker.current_line_number = example.metadata[:line_number]
      Testcube.tracker.current_description = example.metadata[:full_description]
      Testcube.tracker.start_timer

      example.run

      Testcube.tracker.current_exception = example.exception
      Testcube.tracker.stop_timer
    end

    config.after(:suite) do
      Testcube.logger.debug("Total time: #{Testcube.tracker.total_time.round(2)}s")
      Testcube.logger.debug("Saw #{Testcube.tracker.num_specs} specs")
    end
  end
end