:: GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS :: Testing named_scope

To help out with the testing of simple named_scope definitions, we added a helper to Shoulda, should_have_named_scope:

シンプルTDDライブラリShouldaにRails2.1からの新機能named_scope用assertionが追加されたみたいです。

class User < ActiveRecord::Base
  named_scope :old,      :conditions => "age > 50" 
  named_scope :eighteen, :conditions => { :age => 18 }
  named_scope :recent,   lambda {|count| { :limit => count } }
end

class UserTest < Test::Unit::TestCase
  should_have_named_scope :old,       :conditions => "age > 50" 
  should_have_named_scope :eighteen,  :conditions => { :age => 18 }
  should_have_named_scope 'recent(5)', :limit => 5
  should_have_named_scope 'recent(1)', :limit => 1
end

Shouldaの良さは、

  • 覚えること(syntax)の少なさ
  • 今までのgeneraterでいい
  • 今までのファイルでいい
  • 今までのテストと混ぜられる

とかにあるとおもいますが、こういった身も蓋も無いマクロの数々が、面倒臭がりの俺にとってはうれしいです。

Thoughtbot(Shoulda開発者の会社)以外の開発者も入ったみたいスね。

Comments


Option