Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

Add basic report template #2485

Closed
wants to merge 1 commit into from
Closed

Add basic report template #2485

wants to merge 1 commit into from

Conversation

benoittgt
Copy link
Member

Hello

After watching the last talk of Sam at RailsConf. I was wondering about bug report template like in Rails for RSpec.

I faced two issues

  1. I was not able to write a script without aruba gem. I'm surprised because I read other gist without seing this.
# frozen_string_literal: true

begin
  require "bundler/inline"
rescue LoadError => e
  $stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
  raise e
end

gemfile(true) do
  source "https://rubygems.org"

  gem "rspec", "3.7.0" # Activate the gem and version you are reporting the issue against.
end

puts "Ruby version is: #{RUBY_VERSION}"

describe 'additions' do
  it 'returns 2' do
    expect(1 + 1).to eq(2)
  end

  it 'returns 1' do
    expect(3 - 1).to eq(-1)
  end
end

RSpec::Core::Runner.invoke

Result:

Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Using bundler 1.16.0
Using diff-lcs 1.3
Using rspec-support 3.7.0
Using rspec-core 3.7.0
Using rspec-expectations 3.7.0
Using rspec-mocks 3.7.0
Using rspec 3.7.0
Ruby version is: 2.4.1
/Users/bti/code/rspec-core/spec/support/aruba_support.rb:4:in `require': cannot load such file -- aruba/api (LoadError)
	from /Users/bti/code/rspec-core/spec/support/aruba_support.rb:4:in `block in <module:ArubaLoader>'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-support-3.7.0/lib/rspec/support/spec/with_isolated_stderr.rb:7:in `with_isolated_stderr'
	from /Users/bti/code/rspec-core/spec/support/aruba_support.rb:3:in `<module:ArubaLoader>'
	from /Users/bti/code/rspec-core/spec/support/aruba_support.rb:1:in `<top (required)>'
	from /Users/bti/code/rspec-core/spec/spec_helper.rb:24:in `require'
	from /Users/bti/code/rspec-core/spec/spec_helper.rb:24:in `block in <top (required)>'
	from /Users/bti/code/rspec-core/spec/spec_helper.rb:17:in `map'
	from /Users/bti/code/rspec-core/spec/spec_helper.rb:17:in `<top (required)>'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `require'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `block in requires='
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `each'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `requires='
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:112:in `block in process_options_into'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:111:in `each'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:111:in `process_options_into'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:21:in `configure'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:99:in `setup'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:86:in `run'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:71:in `run'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:45:in `invoke'
	from report_template.rb:28:in `<main>'
  1. At the beginning I wanted to add a report template for each RSpec gem (core, mock, expectations...). But maybe I'm too junior and I failed:
# frozen_string_literal: true

begin
  require "bundler/inline"
rescue LoadError => e
  $stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
  raise e
end

gemfile(true) do
  source "https://rubygems.org"

  gem 'aruba' # Needed to execute rspec from Ruby code
  gem "rspec-core", "3.7.0" # Activate the gem and version you are reporting the issue against.
end

puts "Ruby version is: #{RUBY_VERSION}"

describe 'additions' do
  it 'returns 2' do
    expect(1 + 1).to eq(2)
  end

  it 'returns 1' do
    expect(3 - 1).to eq(-1)
  end
end

RSpec::Core::Runner.invoke
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using ffi 1.9.18
Using childprocess 0.5.9
Using contracts 0.16.0
Using builder 3.2.3
Using backports 3.10.3
Using cucumber-tag_expressions 1.1.1
Using gherkin 5.0.0
Using cucumber-core 3.1.0
Using cucumber-expressions 5.0.7
Using cucumber-wire 0.0.1
Using diff-lcs 1.3
Using multi_json 1.12.2
Using multi_test 0.1.2
Using cucumber 3.1.0
Using rspec-support 3.7.0
Using rspec-expectations 3.7.0
Using thor 0.20.0
Using aruba 0.14.2
Using bundler 1.16.0
Using rspec-core 3.7.0
Ruby version is: 2.4.1
/Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/mocking_adapters/rspec.rb:1:in `require': cannot load such file -- rspec/mocks (LoadError)
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/mocking_adapters/rspec.rb:1:in `<top (required)>'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core.rb:8:in `require_relative'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core.rb:8:in `block in <top (required)>'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-support-3.7.0/lib/rspec/support.rb:19:in `block in define_optimized_require_for_rspec'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:678:in `mock_with'
	from /Users/bti/code/rspec-core/spec/spec_helper.rb:91:in `block in <top (required)>'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core.rb:98:in `configure'
	from /Users/bti/code/rspec-core/spec/spec_helper.rb:71:in `<top (required)>'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `require'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `block in requires='
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `each'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration.rb:1455:in `requires='
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:112:in `block in process_options_into'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:111:in `each'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:111:in `process_options_into'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/configuration_options.rb:21:in `configure'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:99:in `setup'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:86:in `run'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:71:in `run'
	from /Users/bti/.rvm/gems/ruby-2.4.1@app/gems/rspec-core-3.7.0/lib/rspec/core/runner.rb:45:in `invoke'
	from report_template.rb:34:in `<main>'

Thanks in advance for your help.

@JonRowe
Copy link
Member

JonRowe commented Dec 11, 2017

Can you open this against our dev repo please, we use that to centrally manage such files. Additionally please use RSpec.describe rather than the monkey patched alternative.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants