= Mocha {}[http://travis-ci.org/floehopper/mocha] Mocha is a library for mocking and stubbing using a syntax like that of {JMock}[http://www.jmock.org]. It can be used with many testing frameworks e.g. {Test::Unit}[http://www.ruby-doc.org/core/classes/Test/Unit.html], {RSpec}[http://rspec.info/], {test/spec}[http://chneukirchen.org/repos/testspec/README], {expectations}[http://expectations.rubyforge.org/], {Dust}[http://dust.rubyforge.org/], {MiniTest}[http://rubyforge.org/projects/bfts] and even {JtestR}[http://jtestr.codehaus.org/]. Mocha provides a unified, simple and readable syntax for both traditional mocking and partial mocking. Mocha was harvested from projects at {Reevoo}[http://www.reevoo.com/] by me ({James}[http://jamesmead.org/]) and my (then) colleagues {Ben}[http://www.techbelly.com/], {Chris}[http://chrisroos.co.uk/] and {Paul}[http://po-ru.com/]. == 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}[http://www.rubyonrails.org/] 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 * Quick Start - {Usage Examples}[http://mocha.rubyforge.org/examples/misc.html] * Traditional mocking - {Star Trek Example}[http://mocha.rubyforge.org/examples/mocha.html] * Setting expectations on real classes - {Order Example}[http://mocha.rubyforge.org/examples/stubba.html] * More examples on {James Mead's Blog}[http://jamesmead.org/blog/] * {Mailing List Archives}[http://groups.google.com/group/mocha-developer] == Links * {Source code}[http://github.com/floehopper/mocha] * {Bug reports}[http://github.com/floehopper/mocha/issues] == License Copyright Revieworld Ltd. 2006 You may use, copy and redistribute this library under the same terms as {Ruby itself}[http://www.ruby-lang.org/en/LICENSE.txt] or under the {MIT license}[http://mocha.rubyforge.org/files/MIT-LICENSE.html].