ライブラリの動作を学習するためにテストを書く

TDDのパターンに学習用テストというものがあると『テスト駆動開発入門』に載っていた。 自分が作ったものではない外部のライブラリを使い始めるときに、動作を確認するために小さなコードを書く、ということは誰でもしていることだと […]

素でRSpecを使うためのspec_helper.rb

こないだのRakefileと併せて使っていたもの。 必要なファイルを読み込む DBとの接続を行う(必要な場合) といったフレームワークがやってくれていることを自前でやるというだけなんですけども。 # -*- coding […]

Titaniumの非同期なイベントのテスト

非同期なイベントというか、イベントは非同期なのでテストに工夫を要する。 以下はそれをCoffeeScriptとJasmineで書いたスペック。 ブックマークをテーブルビューに表示する画面のイベントに関するテストをJasm […]

素でRSpecを使うためのRakefile

書き捨てってわけでもないけど、フレームワーク使うほどのものでもない。 ってかんじものを作るときに作ったもの。 というかGitHubのどっかからぱくってきたものですが。 # -*- encoding: utf-8 -*- […]

テストコードを書くコストに関する考察

昨年お世話になっていた職場の仕事仲間と先月ランチする機会があった。 自分の関わっていたプロジェクトはペアプロやTDDを実践していたのだが、残念なことに自分が抜けた後はテストコードを書かなくなってしまったという。 理由を聞 […]

RSpecでモックとスタブ

きちんと理解してなかったのでいろんなページを参考にいじくりまわしてみた。 そのメモ。 モックとはスタブとは Martin Fowler’s Bliki in Japanese – TestDoub […]

テストする時フィクスチャのリロード忘れに注意

Railsのコントローラのテストにおいて、フィクスチャのリロードをしないでテストを進めると期待通りの結果にならず首をかしげることになる。 初心者のハマリがちなところ。 例えば次のようなフィクスチャがあり first_fe […]

RSpecの violated と pending

RSpecにはテストの実装が不完全であることを表すための二つのメソッドがある。 violated(message = nil) テストを強制的に失敗させる pending(message) テストが意図的に保留状態である […]

RSpec楽しいなぁ

楽しいです。ええ。 RSpecはTest::Unitに比べて書きやすく感じる。 直感的に書けるというか。 RSpecを使うようになってから、仕様をテストコードとして書いてからプロダクトコードを書く、という流れが自然になっ […]

RSpecのStoryの書き方に関するメモ

RSpecでストーリーテストの書き方を調べたので忘れないようにまとめておく。 手順 StoryとScenarioを書く [プレーンテキスト] Stepを書く [Rubyコード] テストコードを書く前にテキストで仕様を書く […]

カバレッジの厳密さにどこまでこだわるか

rcovは行カバレッジのツールなので、次のようなコードでは問題なくカバレッジを判定できる。 @itemがnilであるケースがテストされていなければ2行目のカバレッジは赤だ。 if @item.nil? return re […]