Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Failed to load latest commit information.
lib Require 'mocha/api' in lieu of 'mocha_standalone,' which is now depre…
spec Make it work with MacBacon as well. Looks if Bacon::Specification is …
LICENSE Add readme and license.
VERSION Bump version to 0.2.0.
readme_spec.rb Add readme and license.

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.


$ sudo gem install mocha-on-bacon


$ 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!")

  it "passes if an expectation is fulfilled" do
    @mock.here_you_go("a method call!")

  it "fails if an expectation is not fulfilled" do
    # not much happening here

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'

2 specifications (2 requirements), 1 failures, 0 errors

For more information see the Mocha and Bacon websites.


Copyright (C) 2011-2013, Eloy Durán

Mocha-on-Bacon is available under the MIT license. See the LICENSE file or

Something went wrong with that request. Please try again.