carlosbrando / remarkable

Simplifying tests!

This URL has Read+Write access

josevalim (author)
Mon Apr 13 02:52:19 -0700 2009
commit  136267fbd66be4892db6f3b561cab650f3f7b935
tree    484a00f83356192b4b7c9147afbae8e8d2f32314
parent  8bc2474730061a8183d965480088517659f54408
README
= Remarkable 3.0

Remarkable is a framework for rspec matchers that supports macros and I18n. It's
constituted of three pieces:

* Remarkable: the framework with helpers, DSL, I18n and rspec features;

* Remarkable ActiveRecord: a collection of matchers for ActiveRecord. It
  supports all ActiveRecord validations, associations and some extra matchers.

* Remarkable Rails: a collection of matchers for ActionController. It also
  includes MacroStubs, which is a clean DSL for stubbing your controller methods.

In each folder above, you can find a README more detailed description of each piece.

== Why use Remarkable for Rails?

* The only one with matchers for all ActiveRecord validations, with support to
  all options;

* Matchers for all ActiveRecord associations. The only one which supports all
  these options:

    :through, :class_name, :foreign_key, :dependent, :join_table, :uniq,
    :readonly, :validate, :autosave, :counter_cache, :polymorphic

  Besides in Remarkable 3.0 matchers became much smarter. Whenever :join_table
  or :through is given as option, it checks if the given table exists. Whenever
  :foreign_key or :counter_cache is given, it checks if the given column exists;

* ActionController matchers:

    :assign_to, :filter_params, :redirect_to, :render_with_layout, :respond_with, 
    :render_template, :route, :set_session and :set_the_flash;

* Macro stubs: make your controllers specs easier to main, more readable and DRY;

* Tests and more tests. We have a huge tests suite ready to run and tested in
  Rails 2.1.2, 2.2.2 and 2.3.2;

* I18n and great documentation.

Remarkable Rails requires rspec >= 1.2.0 and rspec-rails >= 1.2.0.

== Install & Upgrade

Install the gem:

  sudo gem install remarkable_rails

This will install remarkable, remarkable_activerecord and remarkable_rails gems.

Inside Rails you need to require just this gem. If you are using ActiveRecord,
it will automatically require the remarkable_activerecord gem.

If you are developing matchers, for example hpricot matchers, you should install
only the remarkable "core" gem:

  sudo gem install remarkable

Users who are upgrading to Remarkable 3.0, should not find any problem if their
tests are running without deprecation warnings.

== Volunteers

We are currently seeking for people who wants to join us and provide matchers
for Datamapper, Sequel, Sinatra and all other possible options. :)

== Browse the documentation

Remarkable:
  http://remarkable.rubyforge.org/core/

Remarkable ActiveRecord:
  http://remarkable.rubyforge.org/activerecord/
  http://remarkable.rubyforge.org/activerecord/classes/Remarkable/ActiveRecord/Matchers.html

Remarkable Rails:
  http://remarkable.rubyforge.org/rails/
  http://remarkable.rubyforge.org/rails/classes/Remarkable/ActionController/Matchers.html

== More information

Google group: http://groups.google.com/group/remarkable-core
Bug tracking: http://carlosbrando.lighthouseapp.com/projects/19775-remarkable/overview

== LICENSE

All projects are under MIT LICENSE.