タグ

RailsとTDDに関するd_akatsukaのブックマーク (6)

  • Rails でテストをどう書くべきか備忘録

    今朝聞いた今週の rebuild.fm のポッドキャストで、テストに関する話題がとても面白く勉強になりましたので備忘録メモ。全部テスト書いてたら時間が足りないし、個人的にはどの部分を重点的にテストすべきか、削っても良いのはどこかに注目して聞きました。 Rebuild: 43: Kent is More Professional (Kenn Ejima) 以下 rebuild.fm 話題から参考にしたいメモ ・テスト書くのは良いが、テスト原理主義、100%カバー、全部テストファーストにこだわるのは疑問。 ・内部構造、実装に対するテストは書かない。 ・モックは一番外側のAPI、インターフェースに対してだけ使う。(※) ・モックのためのモックとかは避ける。 ・リファクタリングのためにテストを書き換えなきゃいけないようなテストは駄目。 ・テストとコードを同時に変更すると、トラブルに気付きにくくなる

    Rails でテストをどう書くべきか備忘録
  • Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記

    このエントリでは,Ruby on Rails (以下 Rails)の ActiveRecord モデルテストについて,1) どこの何をテストすればよいか,2) どのようにテストを書けばよいか,のガイドラインを示します.このガイドラインは Rails 公式のものではなく,id:passingloop が使っている私的なものです.疑問・質問・批判・間違いの指摘はページ下部のコメント欄までお願いします. はじめに Rails は TDD/BDD サポートが充実した Web アプリケーション開発フレームワークです.Rails で使える Test::Unit や RSpec などといったテスティングフレームワークの使い方に関する解説も豊富にあります.しかし,「どこをどうテストすればよいのか」についての解説は,「使い方」の解説と比較して少ないように思います.もっとも,テスト一般についてどう書くかはアプ

    Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記
  • Rails テストに関する便利だけど見過ごされがちな 2 つの rake タスク - passingloopの日記

    Rails テストで便利であるにもかかわらず知名度の低い、かわいそうな 2 つのタスク: rake test:recent タスク rake test:uncommitted タスク を紹介します。この記事は執筆時点の Rails 3.1.0.rc5 を対象としています。 Rails 謹製のテストタスク: rake test:* RSpec 使っていますか? もはや「デファクトスタンダードとなりつつある *1」 RSpec ですが、残念なことに私は使っていません。でも。そんな Test::Unit 遣いのために、Rails は便利な rake タスクを用意しています。たとえば、 rake test rake test:units rake test:functionals rake test:integration の各タスクは RailsによるアジャイルWebアプリケーション開発 第3版

    Rails テストに関する便利だけど見過ごされがちな 2 つの rake タスク - passingloopの日記
    d_akatsuka
    d_akatsuka 2011/08/12
    "rake test:recent タスクは、10 分以内に変更されたモデルとコントローラを探して、それらに関連した unit テストや functional テストを実行する rake タスク" これは知らなかった
  • Fabricationを使ってみた - のどをRubyでいっぱいにして

    ※2011/11/08 コメント欄で指摘を頂いた箇所を加筆修正しました。また、割と古い記事ですので最新の情報は Fabrication を参照することをお奨めします。 これを作ってるとき、machinistとmachinist_mongoを使っていたんですが、試しに前々から気になっていたFabricationで書き換えてみました。README書いてあることをいくつか実際にやってみたのでメモしておきます。割と使いやすかったです。 何に使えるの 下記をサポートしてるそうですので、Mongoid使えます。やった! Plain old Ruby objects ActiveRecord objects Mongoid Documents 使ったもの Fabrication…日のメイン Faker…嘘データをどんどこ作ってくれるやつ QuickStart & 使い方 Gemfile Rails/M

    Fabricationを使ってみた - のどをRubyでいっぱいにして
    d_akatsuka
    d_akatsuka 2011/05/08
    メモ
  • Route 477(2011-01-28)

    ■ [rails] Railsのテストを高速化するやつ ちょっと調べた。導入はわりと簡単なので試してみると良いです。 spork Railsをロード済みのテストサーバを立てることによって、テストの起動時間を短縮する。 https://github.com/timcharper/spork Twiwt:Blog / jugyo : spork でサクサク RSpec on Rails3 Rails 3対応。Rails 2の場合はspork 0.8.xを試せと書いてある。 テストフレームワークはRSpec、Cucumberに対応。Test::Unitを使う場合は https://github.com/timcharper/spork-testunit を入れる(ただし1.9未対応…)。 parallel_tests テストを複数のプロセスで実行することによって、テストの実行時間を短縮する。 (

    Route 477(2011-01-28)
    d_akatsuka
    d_akatsuka 2011/01/29
    sporkは知っていたけど、parallel_testsっていうのは初めて知った
  • Rails3でRSPec2とmachinist2 - Aerialarts

    Rails3でRSpec2とmachinist2を使うための下準備。 $ alias r=rails $ r new testapp -T -d mysql $ cd testapp $ vi config/application.rb # Test::Unitにさよなら $ vi Gemfile # RSpec2とmachinist2を追加 $ bundle install $ r g rspec:install $ r g machinist:install $ vi config/application.rb # fixtureの代わりにblueprintを追加するように $ vi ~/.autotest # DBを毎回クリアする 各種ファイルの編集は下記の通り。 Test::Unitにさよなら -require 'rails/all' +require "active_record

    d_akatsuka
    d_akatsuka 2010/12/14
    メモ
  • 1