Awesome
Mocha on Bacon
Doesn’t that sound yummy?
Mocha is a mocking and stubbing library for Ruby and Bacon is a small RSpec clone.
Out of the box, Mocha only ships with adapters for the testing libraries that
come with the Ruby ‘standard library’, which are Test::Unit
and MiniTest
.
This is an adapter to make it play nicely with Bacon and its MacRuby specific fork MacBacon.
Installation
$ sudo gem install mocha-on-bacon
Usage
$ cat readme_spec.rb
require "mocha-on-bacon" # automatically requires mocha
describe "A mock" do
before do
@mock = mock("A mock")
@mock.expects(:here_you_go).with("a method call!")
end
it "passes if an expectation is fulfilled" do
@mock.here_you_go("a method call!")
end
it "fails if an expectation is not fulfilled" do
# not much happening here
end
end
Running it results in:
$ bacon readme_spec.rb
A mock
- passes if an expectation is fulfilled
- fails if an expectation is not fulfilled [FAILED]
Bacon::Error: not all expectations were satisfied
unsatisfied expectations:
- expected exactly once, not yet invoked: #<Mock:A mock>.here_you_go('a method call!')
./lib/mocha-on-bacon.rb:60:in `it': A mock - fails if an expectation is not fulfilled
./lib/mocha-on-bacon.rb:54:in `it'
./readme_spec.rb:13
./readme_spec.rb:3
2 specifications (2 requirements), 1 failures, 0 errors
For more information see the Mocha and Bacon websites.
License
Copyright (C) 2011-2016, Eloy Durán eloy.de.enige@gmail.com
Mocha-on-Bacon is available under the MIT license. See the LICENSE file or http://www.opensource.org/licenses/mit-license.php