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

ArgumentError: Cannot proxy frozen objects, rspec-mocks relies on proxies for method stubbing and expectations for boolean objects #1270

@bestwebua

Description

@bestwebua

Subject of the issue

Stub for boolean object raises ArgumentError: Cannot proxy frozen objects, rspec-mocks relies on proxies for method stubbing and expectations.

Your environment

  • Ruby version: ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin19]
  • rspec-expectations version: 3.10.1

Steps to reproduce

RSpec.describe 'Example' do
  let(:some_object) { true }
  let(:args) { (0..5).to_a }

  it do
    expect(some_object).to receive(:some_method).with(args)
    some_object.some_method(args)
  end
end

Expected behavior

bundle exec rspec spec/example_spec.rb

Example
  is expected to receive some_method([0, 1, 2, 3, 4, 5]) 1 time

Finished in 0.00696 seconds (files took 0.52326 seconds to load)
1 example, 0 failures

Actual behavior

bundle exec rspec spec/example_spec.rb

Example
  is expected to receive some_method (FAILED - 1)

Failures:

  1) Example is expected to receive some_method
     Failure/Error: expect(some_object).to receive(:some_method).with(args)
     
     ArgumentError:
       Cannot proxy frozen objects, rspec-mocks relies on proxies for method stubbing and expectations.
     # ./spec/example_spec.rb:6:in `block (2 levels) in <top (required)>'

Finished in 0.00769 seconds (files took 0.54186 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/example_spec.rb:5 # Example is expected to receive some_method

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions