diff --git a/test/test_css_parser_misc.rb b/test/test_css_parser_misc.rb index 817c436..2362d14 100644 --- a/test/test_css_parser_misc.rb +++ b/test/test_css_parser_misc.rb @@ -229,7 +229,13 @@ def test_enumerator_nonempty def with_value_exception(&block) # Raise synthetic exception to test error handling because there is no known way to cause it naturally - CssParser::RuleSet::Declarations::Value.stub :new, -> { raise ArgumentError.new, 'stub' }, &block + original_new = CssParser::RuleSet::Declarations::Value.method(:new) + CssParser::RuleSet::Declarations::Value.define_singleton_method(:new) do |*args, **kwargs| + raise ArgumentError, 'stub' + end + yield + ensure + CssParser::RuleSet::Declarations::Value.define_singleton_method(:new, original_new) end def test_catching_argument_exceptions_for_add_rule diff --git a/test/test_helper.rb b/test/test_helper.rb index 7dd2989..a4878c7 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -2,6 +2,7 @@ require 'bundler/setup' require 'maxitest/autorun' +require 'minitest/mock' require 'net/http' require 'webrick' require 'css_parser'