タグ

ブックマーク / www.oiax.jp (8)

  • Spork/Zeus/Spring によるテスト実行時間の短縮

    この連載の「はじめに」で予告したように、そろそろ Zeus について書こうかなと思って下調べを始めると、最近は Spring という新顔も登場して人気が出てきていることが分かりました。そこで、Zeus と Spring の両方を紹介しようと思います。 Zeus も Spring も Rails application preloader と総称されるソフトウェアの仲間です。テストを実行する度に Rails アプリケーションをロードするのは時間の無駄なので、サーバとしてプリロードしておき、テストの実行時間短縮を目的としたものです。古くから使われているものとしては、Spork というものがあります。しかし、Spork については簡単に触れるだけにとどめます。 参考文献: Improving Rails boot time with Zeus (2013/01/10) Rails使いよspork

  • Rails 3.2.3ではwhitelist_attributesの設定が必要

    2012年3月30日に公開されたRails 3.2.3では、config\application.rbのwhitelist_attributesの設定が、デフォルトでtrueに変更されました。これは、最近問題になったMass Assignment(ハッシュによるモデルの属性の一括設定)関連のセキュリティ対策向上のためです。 Rails 3.2.3以降でアプリケーションを作成した読者の方は、書のChapter4以降を実習する前に、次のようにconfig\application.rbを修正して、trueをfalseに変える必要があります(ファイル中の下から10行目あたりにあります)。 config.active_record.whitelist_attributes = false モデル属性の保護とwhitelist_attributesの設定に関する説明は、書のChapter8、360

  • 第13回: ユーザー認証(2)

    第12回: ユーザー認証(1)からの続きです。 ルーティングの修正 config/routes.rb を開いて、次のように修正します。 Nchak::Application.routes.draw do root :to => 'welcome#index' devise_for :users get 'tasks', :to => 'tasks#index', :as => :user_root resources :tasks, :only => [ :index, :create ] do put :finish, :on => :member put :unfinish, :on => :member get :done, :on => :collection end end devise_for :users という記述によりユーザー登録フォームやログインフォームへの経路が登録さ

    nobyuki
    nobyuki 2012/01/29
  • Ruby on Rails 3.2 を Mac OS X にインストールする手順をかなり丁寧に説明してみました

    先日掲載したRuby on Rails 3.1 を Windows にインストールする手順をかなり丁寧に説明してみましたのMac OS Xバージョンです。 Mac OS Xで初めてRubyRailsに挑戦する方のために、最新の Ruby 1.9.3 と Ruby on Rails 3.2 のインストール手順をやや詳しく説明します。 なお、稿ではRubyのインストールにHomebrewとrbenvを利用しています。MacPortsによるインストール手順を知りたい方は http://ref.xaio.jp/ruby/install/macosx を参照してください。 稿が対象とする OS は Mac OS X 10.8 (Mountain Lion)、Mac OS X 10.7 (Lion) 、および Mac OS X 10.6 (Snow Leopard) です。「手順通りやったけどう

    nobyuki
    nobyuki 2011/11/08
  • Ruby on Rails 3.2 を Windows にインストールする手順をかなり丁寧に説明してみました

    先日(2011年7月9日)、神戸でRails入門 1日集中講座の講師をしてきました。 正式リリース前の Ruby on Rails 3.1 (Rails 3.1) に基づいて教材を作りました。参加者の中には「RubyRails も初めて!」という方がかなりいらっしゃいましたので、1時間目の「インストール編」がちょっと不安だったのですが、案の定あまりスムーズに進みませんでした。私の準備不足で迷惑を掛けてしまったなと反省しています。 参加者の方のお話しによれば、Rails 3.13.2 のインストールに手こずっていらっしゃる初心者の方が結構いらっしゃるようです。 そこで、神戸セミナーでの経験を踏まえて、Rails 3.13.2 での開発環境を整える手順をまとめておきます。対象 OS は、Windows XP/Vista/7/8 です。「手順通りやったけどうまく行かなかった!」という方は、

    nobyuki
    nobyuki 2011/11/08
  • 続・Rails 3.x 時代のテストフレームワーク

    先日の記事Rails 3.x 時代のテストフレームワークで、私は「Railsのテストを取り巻く状況が複雑に拡散しつつある」と書き、デファクトスタンダードがまだ現れていないんじゃないか、ということを示唆しました。 その後、この件について他の人が書いているのを更に読んだり、実際にフレームワークを使ってみたりして、わかったことや考えたことをまとめてみようと思います。 まず、Railsで使用できる代表的な4つのテストフレームワーク Test::Unit, RSpec, Shoulda, Cucumber の基礎知識と相互関係について。 Test::Unit は、Ruby 実行系と一緒にインストールされる標準ライブラリの1つです。20世紀末に提唱されたソフトウェア開発手法エクストリーム・プログラミング(XP)が求めるテスト駆動開発をRubyで実践するために作られました。Java 用の JUnit、.

  • Rails 3.x 時代のテストフレームワーク

    Rails 1.x の頃、テストと言えば Test::Unit であり、Fixtures でした。 この2つがあったからこそ、私は Rails を好きになったんだと言えます。 Test::UnitRuby 標準ライブラリの1つですが、Rails はそれを巧妙に拡張して、自らと一体化させていました。 Rails は Web アプリケーションを開発するためのフレームワークであり、同時にその Web アプリケーションをテストするためのフレームワークでもあったわけです。 Fixtures は、テストの対象となるサンプルデータをデータベースに投入するためのツールです。 テストを開始する時点でのデータベースの状態を YAML 形式あるいは CSV 形式で記述しておくと、Fixtures はテストを行う直前にデータベースをその状態に戻してくれます。つまり、Fixtures によって再現性のあるやり

  • 機能テスト冒頭部分の修正、等

    前回は、機能テストのうち main コントローラに関するテストが通るようにしました。 続いて、members コントローラをやっつけましょう。 > ruby test/functional/members_controller_test.rb (省略) 8 tests, 19 assertions, 1 failures, 2 errors 失敗が 1 個、エラーが 2 個。このくらいなら、すぐ終わりそうです。 エラーの原因は、前回同様ページネーション関係です。 # 会員一覧 def index (省略) if params[:group_id] @group = Group.find(params[:group_id]) @members = @group.members.find(:all, options) @member_pages = ActionController::Pagi

  • 1