Sha256: dd0d71f7eedf22d764406bc89c66f1776d06a7f08dc975df0519c61340dd9433

Contents?: true

Size: 1.52 KB

Versions: 11

Compression:

Stored size: 1.52 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.23%   | 6     |
      | By filter class  | 78.26%   | 2     |
      | By string        | 100.0%   | 1     |
      | Ungrouped        | 100.0%   | 3     |

    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/meta_magic_spec.rb                 | 100.0 %  |
      | spec/some_class_spec.rb                 | 100.0 %  |

Version data entries

11 entries across 10 versions & 2 rubygems

Version Path
tdiary-5.0.8 vendor/bundle/gems/tdiary-5.0.7/vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
tdiary-5.0.7 vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
tdiary-5.0.6 vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
tdiary-5.0.5 vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
tdiary-5.0.4 vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
tdiary-5.0.2 vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
tdiary-5.0.1 vendor/bundle/gems/simplecov-0.9.2/features/rspec_groups_using_filter_class.feature
simplecov-0.9.2 features/rspec_groups_using_filter_class.feature
simplecov-0.9.1 features/rspec_groups_using_filter_class.feature
simplecov-0.9.0 features/rspec_groups_using_filter_class.feature