Module: ActiveSupport::Testing::MethodCallAssertions
Do not use. This module is for internal use only.
Relationships & Source Files | |
Defined in: | activesupport/lib/active_support/testing/method_call_assertions.rb |
Instance Method Summary
- #assert_called(object, method_name, message = nil, times: 1, returns: nil, &block) private
- #assert_called_on_instance_of(klass, method_name, message = nil, times: 1, returns: nil) private
- #assert_called_with(object, method_name, args, returns: false, **kwargs, &block) private
- #assert_not_called(object, method_name, message = nil, &block) private
- #assert_not_called_on_instance_of(klass, method_name, message = nil, &block) private
- #expect_called_with(mock, args, returns: false, **kwargs) private
- #stub_any_instance(klass, instance: klass.new) private
Instance Method Details
#assert_called(object, method_name, message = nil, times: 1, returns: nil, &block) (private)
[ GitHub ]# File 'activesupport/lib/active_support/testing/method_call_assertions.rb', line 9
def assert_called(object, method_name, = nil, times: 1, returns: nil, &block) times_called = 0 object.stub(method_name, proc { times_called += 1; returns }, &block) error = "Expected #{method_name} to be called #{times} times, " \ "but was called #{times_called} times" error = "#{}.\n#{error}" if assert_equal times, times_called, error end
#assert_called_on_instance_of(klass, method_name, message = nil, times: 1, returns: nil) (private)
[ GitHub ]# File 'activesupport/lib/active_support/testing/method_call_assertions.rb', line 37
def assert_called_on_instance_of(klass, method_name, = nil, times: 1, returns: nil) times_called = 0 klass.define_method("stubbed_#{method_name}") do |*| times_called += 1 returns end klass.alias_method "original_#{method_name}", method_name klass.alias_method method_name, "stubbed_#{method_name}" yield error = "Expected #{method_name} to be called #{times} times, but was called #{times_called} times" error = "#{}.\n#{error}" if assert_equal times, times_called, error ensure klass.alias_method method_name, "original_#{method_name}" klass.undef_method "original_#{method_name}" klass.undef_method "stubbed_#{method_name}" end
#assert_called_with(object, method_name, args, returns: false, **kwargs, &block) (private)
[ GitHub ]# File 'activesupport/lib/active_support/testing/method_call_assertions.rb', line 20
def assert_called_with(object, method_name, args, returns: false, **kwargs, &block) mock = Minitest::Mock.new expect_called_with(mock, args, returns: returns, **kwargs) object.stub(method_name, mock, &block) assert_mock(mock) end
#assert_not_called(object, method_name, message = nil, &block) (private)
[ GitHub ]# File 'activesupport/lib/active_support/testing/method_call_assertions.rb', line 29
def assert_not_called(object, method_name, = nil, &block) assert_called(object, method_name, , times: 0, &block) end
#assert_not_called_on_instance_of(klass, method_name, message = nil, &block) (private)
[ GitHub ]# File 'activesupport/lib/active_support/testing/method_call_assertions.rb', line 60
def assert_not_called_on_instance_of(klass, method_name, = nil, &block) assert_called_on_instance_of(klass, method_name, , times: 0, &block) end
#expect_called_with(mock, args, returns: false, **kwargs) (private)
[ GitHub ]# File 'activesupport/lib/active_support/testing/method_call_assertions.rb', line 33
def expect_called_with(mock, args, returns: false, **kwargs) mock.expect(:call, returns, args, **kwargs) end
#stub_any_instance(klass, instance: klass.new) (private)
[ GitHub ]# File 'activesupport/lib/active_support/testing/method_call_assertions.rb', line 64
def stub_any_instance(klass, instance: klass.new) klass.stub(:new, instance) { yield instance } end