株式会社クイープ(翻訳) , 株式会社クイープ(原著) , 角谷 信太郎(監修) , 豊田 祐司(監修) , David Chelimsky(著) , Dave Astels(著) , Zach Dennis(著)
※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。
「こんなことをしたい」「こんな結果を得たい」を実現するための手順を、従来は頭の中や紙の上で整理し、それをプログラミング言語に置き換えて表現していたものですが、したいことを自然言語で記述するだけでアプリケーションができあがるとすれば……。そんな、ドキュメント(仕様)さえ書ければアプリケーションへと昇華してくれるフレームワークがRSpec(とCucumber)です。
もちろん、自然言語とプログラミング言語の間には埋められない深くて暗い溝がありますから、一筋縄では行きません。その橋渡しをする知識をこの一冊が提供します。
1.1 TDD:そもそもの始まり
1.2 BDD:次のステップ
1.3 RSpec
1.4 Cucumber
1.5 BDDサイクル
2.1 インストール
2.2 Hello RSpec
2.3 Hello Cucumber
3.1 Codebreakerの概要
3.2 最初のリリースを計画する
3.3 最初のイテレーションを計画する
3.4 本章で学んだこと
4.1 ステップとステップ定義
4.2 ステップ定義メソッド
4.3 テストダブル
4.4 本章で学んだこと
5.1 RSpecを使うための準備
5.2 Red:失敗するサンプルから始める
5.3 Green:サンプルを成功させる
5.4 リファクタリング
5.5 本章で学んだこと
6.1 Cucumberのシナリオアウトライン
6.2 変化に対応する
6.3 本章で学んだこと
7.1 最初は最も単純なサンプルから
7.2 重複をなくすためのリファクタリング
7.3 意図を明確にするためのリファクタリング
7.4 本章で学んだこと
8.1 コードのにおいを嗅ぎ分ける
8.2 一歩一歩着実に
8.3 リファクタリング後にスペックを更新する
8.4 探索型テスト
8.5 本章で学んだこと
9.1 Cucumberを使ったコラボレーション
9.2 新しい実装を試してみる
9.3 本章で学んだこと
10.1 従来のプロジェクトはいかにして失敗するか
10.2 従来のプロジェクトはなぜ失敗するか
10.3 問題の再定義
10.4 アジャイル開発のコスト
10.5 本章で学んだこと
11.1 BDDの概要
11.2 BDDの原則
11.3 プロジェクトのインセプション
11.4 リリースサイクル
11.5 ストーリーの構造
11.6 本章で学んだこと
12.1 説明せよ
12.2 保留扱いのサンプル
12.3 フック:before、after、around
12.4 ヘルパーメソッド
12.5 共有サンプル
12.6 入れ子のサンプルグループ
12.7 本章で学んだこと
13.1 shouldメソッド、should_notメソッド、マッチャ
13.2 組み込みのマッチャ
13.3 述語マッチャ
13.4 Rubyから見たtrue
13.5 何でもお好きなものを
13.6 演算子を使った式
13.7 生成された説明
13.8 主観性
13.9 本章で学んだこと
14.1 テストダブル
14.2 メソッドスタブ
14.3 メッセージエクスペクテーション
14.4 テスト固有の拡張
14.5 メソッドスタブの詳細
14.6 メッセージエクスペクテーションの詳細
14.7 テストダブルとテスト固有の拡張を利用する状況
14.8 リスクとトレードオフ
14.9 他のテストダブルフレームワークを選択する
14.10 本章で学んだこと
15.1 rspecコマンド
15.2 TextMate
15.3 Autotest
15.4 Rake
15.5 RCov
15.6 本章で学んだこと
16.1 メタデータ
16.2 コンフィグレーション
16.3 フィルタリング
16.4 拡張モジュール
16.5 グローバルフック
16.6 モックフレームワーク
16.7 カスタムマッチャ
16.8 マクロ
16.9 カスタムフォーマッタ
16.10 本章で学んだこと
17.1 全体像
17.2 フィーチャ
17.3 顧客受け入れテスト
17.4 Gherkin
17.5 シナリオ
17.6 ステップ
17.7 cucumberコマンド
17.8 Given、When、Then
17.9 宣言型のシナリオと命令型のシナリオ
17.10 フィーチャの構成
17.11 タグ
17.12 本章で学んだこと
18.1 ステップ定義
18.2 Worldオブジェクト
18.3 ステップ定義からステップを呼び出す
18.4 フック
18.5 バックグラウンド
18.6 マルチラインテキスト
18.7 ステップ内のテーブル
18.8 シナリオアウトライン
18.9 プロファイル
18.10 本章で学んだこと
19.1 外側からのRails開発
19.2 Rails 3 プロジェクトのセットアップ
19.3 Rails 2 プロジェクトのセットアップ
19.4 本章で学んだこと
20.1 ステップ定義のスタイル
20.2 Direct Model Access
20.3 本章で学んだこと
21.1 Simulated Browserスタイルのステップ定義を作成する
21.2 ページの移動
21.3 フォームの操作
21.4 ビューマッチャを使って結果を指定する
21.5 高度な機能
21.6 本章で学んだこと
22.1 準備作業
22.2 Selenium用のステップ定義を作成する
22.3 Seleniumの問題をデバッグする
22.4 本章で学んだこと
23.1 ビュースペックを作成する
23.2 モデルをモック化する
23.3 ヘルパーを指定する
23.4 ビュースペックを作成すべき状況
23.5 本章で学んだこと
24.1 コントローラスペック
24.2 コンテキストに依存するサンプル
24.3 ApplicationControllerを指定する
24.4 本章で学んだこと
25.1 モデルスペックを作成する
25.2 ビジネスルールを指定する
25.3 練習問題
25.4 役に立つヒント
25.5 本章で学んだこと
A.1 プロジェクト
A.2 構文
A.3 guard
A.4 拡張性
A.5 Mspec
A.6 タグ
A.7 コミュニティ
索引
ryonext さん
2012-06-16
RSpec、仕事でも趣味でもバリバリ使ってるけどより一層理解を深めさせてくれた。実はCucumberにも相当触れている。図書館で借りたけど、買おうかな。
joe-re さん
2014-06-19
RSpecよりも、TDDやBDDの考え方が学べるところが素晴らしい本です。もうRed、Green、Refactorからは離れられません。
chezou さん
2014-02-13
BDDの考え方が良くわかる良書。テストを書いてリファクタリングをして行く流れが読めるのは非常に勉強になる