Mocha <img src=“https://secure.travis-ci.org/floehopper/mocha.png” />

Mocha is a library for mocking and stubbing using a syntax like that of JMock.

It can be used with many testing frameworks e.g. Test::Unit, RSpec, test/spec, expectations, Dust, MiniTest and even JtestR.

Mocha provides a unified, simple and readable syntax for both traditional mocking and partial mocking.

Mocha was harvested from projects at Reevoo by me (James) and my (then) colleagues Ben, Chris and Paul.

Installation

Install the latest version of the gem with the following command…

$ gem install mocha

Note that if you are intending to use Mocha with Test::Unit or MiniTest, you should only load Mocha after loading the relevant test library…

require "test/unit"
require "mocha"

If you’re using Bundler, ensure the correct load order by not auto-requiring Mocha in the Gemfile and then later load it once you know the test library has been loaded…

# Gemfile
gem "mocha", :require => false

# Elsewhere after Bundler has loaded gems
require "test/unit"
require "mocha"

Or install the Rails plugin…

$ script/plugin install git://github.com/floehopper/mocha.git

Note that versions 0.9.6 & 0.9.7 of the Rails plugin were broken. As of version 0.9.8, you need to explicitly load Mocha after the test framework e.g. by adding “require ‘mocha’” at the bottom of test/test_helper.rb.

Examples

License

Copyright Revieworld Ltd. 2006

You may use, copy and redistribute this library under the same terms as Ruby itself or under the MIT license.