Yet Another Simple Stub & Mock library. This is inspired by Minitest::Mock and Override.
Mocoso meets the following criteria:
- Always restore stubbed methods to their original implementations.
- Doesn't allow to stub or mock undefined methods.
- Doesn't monkey-patch any class or object.
- Test-framework agnostic. No integration code.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install mocoso
A quick example (uses Cutest):
require "cutest" require "mocoso" include Mocoso test "mocking a class method" do user = User.new expect(User, :find, with: , return: user) do assert_equal user, User.find(1) end assert_equal nil, User.find(1) end test "stubbing an instance method" do user = User.new stub(user, :valid?, true) do assert user.valid? end assert !user.valid? end
Check Official Documentation for more details.
Fork the project with:
$ git clone [email protected]:frodsan/mocoso.git
To install dependencies, use:
$ bundle install
To run the test suite, do:
$ rake test
For bug reports and pull requests use GitHub.
Mocoso is released under the MIT License.