rspec-mocks
rspec-mocks copied to clipboard
Exclude stubbed classes from subclasses after teardown
This fix https://github.com/rspec/rspec-mocks/issues/1568.
Stubbed classes are excluded from parent subclasses after each spec.
The original issue :
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.12.0" # Activate the gem and version you are reporting the issue against.
gem 'rspec-mocks', '3.12.6'
end
puts "Ruby version is: #{RUBY_VERSION}" # Ruby version is: 3.1.4
class Something; end
describe 'Test' do
before(:each) do
class A < Something; end
stub_const('B', Class.new(Something))
end
it 'something' do
puts Something.subclasses # => [B, A]
end
it 'something else' do
puts Something.subclasses # => [B, B, A]
# Only one occurence of B should be listed
end
end
Now, Something.subclasses
always return [B, A]
.