Sha256: 2248fdb596673543c9afabc99314b672f66fb8141175dbcab60b685a1007eed8

Contents?: true

Size: 1.88 KB

Versions: 2

Compression:

Stored size: 1.88 KB

Contents

# frozen_string_literal: true

require File.expand_path('../test_helper', File.dirname(__FILE__))
require File.expand_path('./dog', File.dirname(__FILE__))

if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.3.0')
  class CollectorsCoverageTest < Test::Unit::TestCase
    attr_accessor :coverband

    def setup
      Coverband.configure do |config|
        config.store = Coverband::Adapters::RedisStore.new(Redis.new)
      end
      @coverband = Coverband::Collectors::Coverage.instance.reset_instance
    end

    def teardown
      Thread.current[:coverband_instance] = nil
      Coverband.configure do |config|
      end
      @coverband = Coverband::Collectors::Coverage.instance.reset_instance
    end

    test 'gets coverage instance' do
      assert_equal Coverband::Collectors::Coverage, coverband.class
    end

    test 'defaults to a redis store' do
      assert_equal Coverband::Adapters::RedisStore, coverband.instance_variable_get('@store').class
    end

    test 'reports coverage in background when background reporting enabled' do
      Coverband.configuration.stubs(:background_reporting_enabled).returns(true)
      @coverband.reset_instance
      Coverband::Background.expects(:start)
      @coverband.report_coverage
    end

    test 'report_coverage raises errors in tests' do
      Coverband.configuration.stubs(:background_reporting_enabled).returns(true)
      @coverband.reset_instance
      Coverband::Background.expects(:start).raises("Oh no")
      assert_raise RuntimeError do
        @coverband.report_coverage
      end
    end

    test 'report_coverage does not raise errors in non-test mode' do
      Coverband.configuration.stubs(:background_reporting_enabled).returns(true)
      Coverband.configuration.stubs(:test_env).returns(false)
      @coverband.reset_instance
      Coverband::Background.expects(:start).raises("Oh no")
      @coverband.report_coverage
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
coverband-3.0.1 test/unit/collectors_coverage_test.rb
coverband-3.0.1.alpha test/unit/collectors_coverage_test.rb