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