jruby / jruby-openssl

JRuby's OpenSSL implementation

This URL has Read+Write access

commit  793968aea9bc9255d6fa43217786552906239a32
tree    8a425086b0599f39da4884d2ffcde9a3d8db66d3
parent  5eeee02a5f49bcf9777ca2412302f0c0944d7bc0
jruby-openssl / mocha
mocha/README
= 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].