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
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!") 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.
Copyright (C) 2011-2016, Eloy Durán [email protected]
Mocha-on-Bacon is available under the MIT license. See the LICENSE file or http://www.opensource.org/licenses/mit-license.php