[activeldap:92] [ANN] ActiveLdap Fabrication 1.0.0

Kouhei Sutou kou @ clear-code.com
2011年 7月 9日 (土) 10:08:20 EDT


須藤です。

ActiveLdapで作ったモデルでもFabrication(*)を使える
ActiveLdap Fabrication 1.0.0をリリースしました!

http://ruby-activeldap.rubyforge.org/activeldap-fabrication/ja/

(*) http://fabricationgem.org/

Fabricationを使えるとテストデータが作りやすくなるので、
テストがしやすくなるはずです。

使い方は↑のURLを見て欲しいのですが、ActiveLdap本体にもテス
トサポート用の機能が欲しいなぁと思いました。

↑のドキュメントではtest/test_helper.rbに

  class ActiveSupport::TestCase
    # Add more helper methods to be used by all tests here...

    # LDAP: ここから
    setup do
      @dumped_data = nil
      begin
        @dumped_data = ActiveLdap::Base.dump(:scope => :sub)
      rescue ActiveLdap::ConnectionError
      end
      ActiveLdap::Base.delete_all(nil, :scope => :sub)
      populate_ldap
    end

    teardown do
      if @dumped_data
        ActiveLdap::Base.setup_connection
        ActiveLdap::Base.delete_all(nil, :scope => :sub)
        ActiveLdap::Base.load(@dumped_data)
      end
    end

    def populate_ldap
      populate_ldap_base
      populate_ldap_ou
    end

    def populate_ldap_base
      ActiveLdap::Populate.ensure_base
    end

    def populate_ldap_ou
      ActiveLdap::Populate.ensure_ou("Users")
    end
    # LDAP: ここまで
  end

みたいなコードを追加するように書いているのですが、こういうの
はActiveLdap本体が提供した方がよい気がしました。

Rails 3っぽくするならlib/active_ldap/test_help.rbを作って、
それで提供するのがよさそうですが。。。
ActiveLdapを使ってテストを書いている人はどんな風にしています
か?

-- 
須藤 功平 <kou @ clear-code.com>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

プログラミングが好きなソフトウェア開発者を募集中:
  http://www.clear-code.com/recruitment/


ruby-activeldap-discuss-ja メーリングリストの案内