New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

lazy_mock

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lazy_mock

1.0.1
Rubygems
Version published
Maintainers
1
Created
Source

= LazyMocks

== Rationale

In Rspec, using a mock object, the moer functionality you add, the more complaints you get about unexpected messages.

Sometimes you just want an object that responds to anything you throw at it, and just stub specifc behavior.

Enter LazyMocks.

== Usage

Every method returns a new instance of LazyMock.

my_mock = LazyMock.new
my_mock.some_method_that_doesnt_exist
=> #<MyMock>

It responds to everything.

my_mock = LazyMock.new
my_mock.respond_to?(:huh?)
=> true

Then you can stub what you want to.

my_mock = LazyMock.new
my_mock.stub(:something).and_return('foo')

Because it returns an instance of iteself, any code paths (the first traversed) will pass:

my_mock = LazyMock.new
if my_mock.thing.other_method.another_method
  return "Test"  if my_mock.has_some_method?
else
  #not getting here..
end

This means that for paths in your specs which you don't care about (because you're testing one specific part) won't break when you add new functionality as you flesh out your implementation.

FAQs

Package last updated on 26 Aug 2011

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts