17 Jun '12, 4pm

“Rubyist Magazine - RubyOnRails を使ってみる 【第 6 回】 テストの書き方”

ここでとりあげるのは、ソフトウェアテストのうち、ユニットテスト (unit test) と機能テスト (functional test) といわれるものです。 まず、言葉の意味を確認しておきましょう。 ユニットテストとは ユニットテストはユニットを対象とするテストです。 ユニットとは、テスト可能なコードの固まりで、それ以上分割できないものです。 なんだか定義が循環していますが、公開されたインターフェイスが見えているブラックボックスなモジュール1個をユニットというのだ、としておきます。 ユニットテストは単体テストともいいます。 実践的プログラムテスト入門 によれば、ユニットテストのテスト対象であるユニットとは、テスト可能な最小の単位であり、ユニットテストの対象には別のユニットを含めません。 相手がいないと動作しない場合は、結合するユニットをシミュレートするために、ドライバとスタブ*1 をつなげることになります。 ほかのユニットとつながった状態で行うテストは、コンポーネントテストといいます。 定義はこうなのですが、実際にはコンポーネントテストもユニットテストといっていることがままあります。 例えば今回採り上げる Rails の unit test は、テストの実行時に Active Record 経由でデータベースにアクセスしたり、外部ライブラリをスタブやモックで置き換えずに直接呼び出したりしますから、定義上はコンポーネントテストです。 Active Record は、テストをクリアした信頼できるコンポーネントですから、これにつないでテストしても、バグの所在は明らかです (ええ、明らかですとも)。 仕様が明確で信頼できるフレームワークに接続した状態のコンポーネントテスト、これを広義のユニットテストといっても問題はないでしょう。 Rails での unit test は、モデルに対するテストです。 機能テストとは 機能テストは、動作テストともいいます。あるいは受け入れテストともいいます。 機能テストのテスト対象は、システムの振る舞いです。 Rai...

Full article: http://jp.rubyist.net/magazine/?0013-RubyOnRails#l0

Tweets

@shugomaeda 「test/unitと何が違うの?」って聞いたら「書き方が違う」って言...

jp.rubyist.net 18 Jun '12, 3am

RSpec とは、公式サイト の説明によれば、「プログラムの振舞 (behaviour)」を記述するためのドメイン特化言語 (DomainSpecific Language:DSL) を提供するフレームワーク」 です。 プログラムの振舞? ドメ...

Rubyist Magazine - Rubyist Magazine 0037 号:

jp.rubyist.net 17 Jun '12, 1am

書いた人:るびま編集長 高橋征義 編集長からの 0037 号発行の挨拶です。(難易度:高) Ruby の歩き方 Ruby をはじめるにあたって必要な情報をご紹介します。本稿は Rubyist Magazine 常設記事です。(難易度:低) Ru...

スはスペックのス 【第 2 回】 RSpec on Rails (コントローラとビュー編)

jp.rubyist.net 25 Jun '12, 6am

diff --git a/0023/myblog/config/environments/development.rb b/0023/myblog/config /environments/development.rb index 0589aa...

Rubyist Magazine - Chef でサーバ管理を楽チンにしよう! (第 1 回):

jp.rubyist.net 22 Jun '12, 11am

クライアントーサーバなツールなので、chef-server と chef-client に関しては特に何の疑問もないと思います。 いっぽうで chef-solo というサーバ無しでもレシピが実行できるツールも存在します。つまり、クラサバツールで...

rubyで文字列からURL抜きだすのを作ってて、URI.regexpを見つけた。 中身表示した...

jp.rubyist.net 20 Jun '12, 3pm

pathname は Unix のパス名を扱うライブラリです。 Windows などの DOSISH な環境ではドライブ名やパスの区切り文字などで問題が起きる可能性があることに注意が必要です。 DOSISH については ruby-man:DOS...

“Rubyist Magazine - RubyKajaのご紹介”

jp.rubyist.net 17 Jun '12, 1pm

選考方法・選考基準については、Yokohama.rb のメンバーで協議した結果、各地域の Ruby コミュニティから活躍した人物を Kaja としてノミネートするという方式を採用しました。 公募による投票では、どうしても知名度が重要視されてしま...

Rubyist Magazine - 他言語からの訪問 【第 1 回】 Groovy (前編)

jp.rubyist.net 07 Jun '12, 7pm

Rubyist の皆さんこんにちは。Groovy についての記事を書くことになりました上原と申します。Groovy についてはるびまでも、「Rubyist のための他言語探訪 【第 5 回】 Groovy 」で 2005 年にみずしまさんの手に...

Webサーバを含めたレスポンス速度、フレームワーク内の速度、DB、レンダリングの処理をそれぞれ...

jp.rubyist.net 09 Jun '12, 1pm

さて、セッションを無効、もしくは高速なセッションに切り替えることで、フレームワーク部の速度向上が図れることが分かりました。 続いて、アプリケーションの中を見てみましょう。 アプリケーションの中のチューニングにまず役に立つのは Rails のログ...

Rubyist Magazine - cairo: 2 次元画像描画ライブラリ

Rubyist Magazine - cairo: 2 次元画像描画ライブラリ

jp.rubyist.net 16 Jun '12, 3pm

#!/usr/bin/env ruby require "poppler" if ARGV.size < 1 puts "usage: #{$0} input.pdf" exit(-1) end input = ARGV.shift outpu...