BT

Remarkableでのマクロ、I18n付きのRails BDD

| 作者: Sebastien Auvray フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2009年5月17日. 推定読書時間: 2 分 |

原文(投稿日:2009/5/4)へのリンク

Railsアプリケーションを開発したり、テストしたり、統合する方法は多数ある。基本的なTest::Unit(リンク)やZenTest(リンク)があるTDDからRSpec(リンク)、Shoulda(リンク)またはCucumber(参考記事)があるBDDに至るまで多岐にわたる。また、カスタムRSpec matchersを記述することが可能である。

正しいツールを探したり、ベストプラクティスを見出すことは困難(リンク)だと言える。Remarkable(リンク)は、構文を統一したり、さらに特色を付け加えて、Rails BDDを痛みが伴わないものにしようとしている。

Remarkableはその独自のDSLを使用したフレームワークである。マクロおよび I18nサポートを提供することで、Remarkableは、RSpecを拡張する。オプション(:through, :source, :source_type, :class_name, :foreign_key, ...)付きのすべてのActiveRecord検証を網羅する、一連の徹底的なRSpec matcherが同梱されている。また、ActionController向けの一連のmatcherもある。

RSpecまたはShouldaに類似した構文のどちらか一方を使用することができる(プロジェクトWebサイトより)。

    1) it { should validate_numericality_of(:age).greater_than(18).only_integer }

    2) it { should validate_numericality_of(:age, :greater_than => 18, :only_integer => true) }


    3) should_validate_numericality_of :age, :greater_than => 18, :only_integer => true

    4) should_validate_numericality_of :age do |m|
         m.only_integer
         m.greater_than 18
         # Or: m.greater_than = 18

       end

最後に、容易にモデルスペックを記述することができる。

  describe Post do
    should_belong_to :user
    should_have_many :comments
    should_have_and_belong_to_many :tags


    should_validate_presence_of :body
    should_validate_presence_of :title
    should_validate_uniqueness_of :title, :allow_blank => true
  end

Remarkable 3.0.10は利用可能であり(リンク)、かなり盛んなプロジェクトである。次期リリースでは、ActionViewサポートのような、さらに多いRails matcherが期待される。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT