Browse the Ruby on Rails Community.

You are here: Browse Railsplugins Mocha

Mocha


Location: United Kingdom, London and Durham


= Mocha

Mocha is a library for mocking and stubbing using a syntax like that of JMock[http://www.jmock.org], and SchMock[http://rubyforge.org/projects/schmock]. Most commonly Mocha is used in conjunction with Test::Unit[http://www.ruby-doc.org/core/classes/Test/Unit.html], but it can be used in other contexts.

One of its main advantages is that it allows you to mock and stub methods on real (non-mock) classes and instances. You can for example stub ActiveRecord[http://api.rubyonrails.com/classes/ActiveRecord/Base.html] instance methods like create, save, destroy and even class methods like find to avoid hitting the database in unit tests.

Mocha provides a unified, simple and readable syntax for both traditional mocking and for mocking with real objects.

Mocha has been harvested from projects at Reevoo[http://www.reevoo.com] by me (James[http://blog.floehopper.org]) and my colleagues Ben[http://www.reevoo.com/blogs/bengriffiths], Chris[http://blog.seagul.co.uk] and Paul[http://po-ru.com]. Mocha is in use on real-world Rails[http://www.rubyonrails.org] projects.

Download and Installation

Install the gem with the following command...

$ gem install mocha

Or install the Rails[http://www.rubyonrails.org] plugin...

$ script/plugin install svn://rubyforge.org/var/svn/mocha/trunk

Or download Mocha from here - http://rubyforge.org/projects/mocha

Examples
  • Quick Start – {Usage Examples}[link:examples/misc.html]
  • Traditional mocking – {Star Trek Example}[link:examples/mocha.html]
  • Setting expectations on real classes – {Order Example}[link:examples/stubba.html]
  • More examples on {Floehopper’s Blog}[http://blog.floehopper.org]
  • {Mailing List Archives}[http://rubyforge.org/pipermail/mocha-developer/]

== 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].

NOTE: This description has been extracted from the Plugin README and so the formatting may need updating to make browser friendly


Homepage: http://mocha.rubyforge.org

Categories: Technology