Sha256: 0ea0b9724e54af393e39ad303857772bad79fcfa6d1abe49baf5ac48c20352bf

Contents?: true

Size: 1.58 KB

Versions: 50

Compression:

Stored size: 1.58 KB

Contents

@rspec
Feature: Grouping on RSpec using a custom filter class

  Next to passing a block or a string to define a group, you can also pass
  a filter class. The filter class inherits from SimpleCov::Filter and
  must implement the matches? method, which is used to determine whether
  or not a file should be added to the group.

  Scenario:
    Given SimpleCov for RSpec is configured with:
      """
      require 'simplecov'
      class CoverageFilter < SimpleCov::Filter
        def matches?(source_file)
          source_file.covered_percent < filter_argument
        end
      end
      SimpleCov.start do
        add_group 'By filter class', CoverageFilter.new(90)
        add_group 'By string', 'project/meta_magic'
      end
      """

    When I open the coverage report generated with `bundle exec rspec spec`
    Then I should see the groups:
      | name             | coverage | files |
      | All Files        | 91.8%    | 7     |
      | By filter class  | 78.26%   | 2     |
      | By string        | 100.0%   | 1     |
      | Ungrouped        | 100.0%   | 4     |

    And I should see the source files:
      | name                                    | coverage |
      | lib/faked_project/framework_specific.rb | 75.0 %   |
      | lib/faked_project/some_class.rb         | 80.0 %   |
      | lib/faked_project.rb                    | 100.0 %  |
      | lib/faked_project/meta_magic.rb         | 100.0 %  |
      | spec/forking_spec.rb                    | 100.0 %  |
      | spec/meta_magic_spec.rb                 | 100.0 %  |
      | spec/some_class_spec.rb                 | 100.0 %  |

Version data entries

50 entries across 50 versions & 14 rubygems

Version Path
dirwatch-0.0.9 vendor/bundle/ruby/2.5.0/gems/simplecov-0.13.0/features/rspec_groups_using_filter_class.feature
dirwatch-0.0.8 vendor/bundle/ruby/2.5.0/gems/simplecov-0.13.0/features/rspec_groups_using_filter_class.feature
tdiary-5.0.9 vendor/bundle/gems/simplecov-0.14.1/features/rspec_groups_using_filter_class.feature
dirwatch-0.0.6 vendor/bundle/ruby/2.3.0/gems/simplecov-0.13.0/features/rspec_groups_using_filter_class.feature
dirwatch-0.0.5 vendor/bundle/ruby/2.3.0/gems/simplecov-0.13.0/features/rspec_groups_using_filter_class.feature
dirwatch-0.0.4 vendor/bundle/ruby/2.3.0/gems/simplecov-0.13.0/features/rspec_groups_using_filter_class.feature
dirwatch-0.0.3 vendor/bundle/ruby/2.3.0/gems/simplecov-0.13.0/features/rspec_groups_using_filter_class.feature
dirwatch-0.0.2 vendor/bundle/ruby/2.3.0/gems/simplecov-0.13.0/features/rspec_groups_using_filter_class.feature
simplecov-0.15.1 features/rspec_groups_using_filter_class.feature
simplecov-0.15.0 features/rspec_groups_using_filter_class.feature
logstash-filter-cache-redis-0.3.1 vendor/bundle/jruby/1.9/gems/simplecov-0.14.1/features/rspec_groups_using_filter_class.feature
logstash-filter-cache-redis-0.3.0 vendor/bundle/jruby/1.9/gems/simplecov-0.14.1/features/rspec_groups_using_filter_class.feature
logstash-filter-cache-redis-0.2.0 vendor/bundle/jruby/1.9/gems/simplecov-0.14.1/features/rspec_groups_using_filter_class.feature
logstash-filter-cache-redis-0.1.0 vendor/bundle/jruby/1.9/gems/simplecov-0.14.1/features/rspec_groups_using_filter_class.feature
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/simplecov-0.14.1/features/rspec_groups_using_filter_class.feature
simplecov-patched-0.14.3 features/rspec_groups_using_filter_class.feature
simplecov-patched-0.14.2 features/rspec_groups_using_filter_class.feature
simplecov-0.14.1 features/rspec_groups_using_filter_class.feature
simplecov-0.14.0 features/rspec_groups_using_filter_class.feature
simplecov-0.13.0 features/rspec_groups_using_filter_class.feature