如何计算 RSpec 测试中的示例数量?

car*_*485 8 ruby rspec

我想计算目录中有多少测试而不运行测试。

我尝试了与在此发现的类似的内容,但无法打印除 之外的任何内容0


这是我尝试过的(有或没有注释掉的配置内容):

task 'count_specs' do
  RSpec.configure do |config|
    config.pattern = 'features/**/*_spec.rb'
    # config.inclusion_filter.rules
    # config.filter_run focus: true
    # config.run_all_when_everything_filtered = true
    # config.inclusion_filter.rules
    config.requires = ['spec_helper']

    config.load_spec_files

    puts 'count of examples'
    puts config.files_to_run

  puts RSpec.world.example_count
  end

  puts 'count of examples'
  puts RSpec.world.example_count
end
Run Code Online (Sandbox Code Playgroud)

如何创建一个任务来计算有多少个示例与特定模式匹配?

我想对两个目录运行它并比较结果。

Saj*_*gar 15

在 RSpec 3 中,有一个--dry-run选项可以打印套件的格式化程序输出,而无需运行任何示例或挂钩。

rspec --dry-run
Run Code Online (Sandbox Code Playgroud)

如果您需要计算 ruby​​ 脚本中的示例数量:

output = `bundle exec rspec --dry-run | grep 'examples, 0 failures'`
example_count = output.split(' ').first.to_i
Run Code Online (Sandbox Code Playgroud)