Everyday Rails - RSpecによるRailsテスト入門

テスト駆動開発の習得に向けた実践的アプローチ

RSpecを使って信頼性の高いテストをあなたのRailsアプリケーション上に構築しましょう。本書では実際に動作するサンプルアプリケーションを使いながら、実践的なアドバイスを提供します。Rails 4.0、Capybara 2.1、Factory Girl 4.2、RSpec 2.14といった、最新バージョンの各種フレームワークにも対応しています。

521 readers

100% Happiness guarantee もっと詳しく知る

Minimum: 16.00$

Suggested: 20.00$+

Ways to buy

  • Free sample read /download
  • 521 readers
  • 133 pages
  • 出版言語: 日本語
  • Updated

Translations

この本は英語で書かれたEveryday Rails Testing with RSpecを日本語に翻訳したものです。Everyday Rails Testing with RSpecは他1他の言語に翻訳されています。

この本の紹介

あなたは今までに辛い思いをしながらRailsアプリケーションのテストをやってきませんでしたか?ブラウザをクリックし続けることだけがアプリケーションのテストになっていませんでしたか?そして、最後はすべてがうまくいくことを祈るだけになっていませんでしたか?

心配しないで下さい。それは誰もが通る道です。テストの実行やテスト駆動開発はRails開発の重要な話題にはなっていますが、多くのチュートリアルは表面上の説明だけで終わってしまいます。しかし、本書は違います。本書では私が今までどうやってそのようなハードルを乗り越え、コードの信頼性を向上させ、ブラウザベースでのテストでかかっていた莫大な時間を節約できるようになったのかについて説明します。

本書はEveryday Rails Blogの内容に基づく6つの章と、本書のために書き下ろした6つの章、それに小さいながらもしっかりテストされたRailsアプリケーションで構成されています。本書を一度購入していただければ追加のコストを支払うことなく、コードと本文をRails 4.0で動く最新のものに更新し続けることをお約束します。

チームパッケージについて

チームパッケージは本書をチーム内で共有するためのパッケージです。シングルユーザーライセンスよりもお求めやすい価格設定になっています。ご利用方法は以下の通りです。

  • パッケージを購入された方(代表者)が電子書籍ファイル(PDF、EPUB、MOBI)をダウンロードして下さい。
  • ダウンロードしたファイルをチーム内で共有して下さい。
  • パッケージで指定された人数までであれば、誰でも本書を自由に読むことが可能です。

備考

  • ライセンス数は「最大同時貸出人数」を表します。
  • たとえば3コピーライセンスの場合、5人のチームであっても同時に3人以内であれば、自由にメンバーを変えて読むことができます。
  • 電子書籍ファイルはDRMフリーであるため、システム的な制限(ネット経由のアクティベーション等)は特にありません。

ライセンスに関して何かご不明な点があれば、以下のフィードバックページにてお問い合わせ下さい。

https://leanpub.com/everydayrailsrspec-jp/feedback

筆者について

Leanpubにはリスクがありません。100% の満足を保証するため、無条件で払い戻しいたします。

♥♥♥♥♥

Leanpubからの購入本は、45日以内であれば、全額払い戻しいたします in two clicks. We process the refunds manually, so they may take a few days to show up. See full terms.

お買い上げの電子書籍は無料でアップデートいたします!全ての書籍はPDF、iPad向けのEPUB、Kindle向けのMOBIが入手できます。DRMも含んでおりません。くリスクはありません満足いただけなければ、払い戻しいたします。

目次

  • 日本語版のまえがき
  • この版のまえがき
  • 謝辞
  • 1. イントロダクション
    • なぜRSpecなのか?
    • 対象となる読者
    • 私が考えるテストの原則
    • 本書の構成
    • サンプルコードのダウンロード
    • コードの方針
    • 間違いを見つけた場合
    • サンプルアプリケーションについて
  • 2. RSpecのセットアップ
    • Gemfile
    • テストデータベース
    • RSpecの設定
    • ジェネレータ
    • Q&A
    • 演習問題
  • 3. モデルスペック
    • モデルスペックの構造
    • モデルスペックを作成する
    • RSpecの新しい構文
    • バリデーションをテストする
    • インスタンスメソッドをテストする
    • クラスメソッドとスコープをテストする
    • 失敗をテストする
    • マッチャについてもっと詳しく
    • describe、context、before、afterを使ってスペックをDRYにする
    • まとめ
    • Q&A
    • 演習問題
  • 4. ファクトリを使ったテストデータの生成
    • ファクトリ対フィクスチャ
    • アプリケーションにファクトリを追加する
    • 構文をシンプルにする
    • 関連とファクトリの継承
    • もっとリアルなダミーデータを作成する
    • 高度な関連
    • ファクトリの弊害
    • まとめ
    • 演習問題
  • 5. コントローラスペックの基礎
    • なぜコントローラをテストするのか?
    • なぜコントローラをテストしないのか?
    • コントローラテストの基礎
    • 整理
    • テストデータをセットアップする
    • GETリクエストをテストする
    • POSTリクエストをテストする
    • PATCHリクエストをテストする
    • DELETEリクエストをテストする
    • 非CRUDなメソッドをテストする
    • 入れ子になったルーティングをテストする
    • コントローラの非HTML出力をテストする
    • まとめ
    • 演習問題
  • 6. 高度なコントローラスペック
    • 準備する
    • 管理者ロールとユーザーロールをテストする
    • ゲストロールをテストする
    • まとめ
    • 演習問題
  • 7. コントローラスペックのクリーンアップ
    • Shared examples
    • ヘルパーマクロを作成する
    • カスタムRSpecマッチャを使う
    • まとめ
    • 演習問題
  • 8. フィーチャスペック
    • なぜフィーチャスペックなのか?
    • Cucumberはどうなのか?
    • 必要な追加ライブラリ
    • フィーチャスペックの基礎
    • リクエストからフィーチャへ
    • フィーチャスペックを追加する
    • フィーチャスペックをデバッグする
    • ちょっとしたリファクタリング
    • JavaScriptを利用するやりとりも含める
    • Capybaraのドライバ
    • まとめ
    • 演習問題
  • 9. スペックの高速化
    • 構文を簡潔にするためのオプション
    • モックとスタブ
    • GuardとSporkによる自動化
    • タグ
    • 高速化させる他の解決策
    • まとめ
    • 演習問題
  • 10. その他のテスト
    • メール送信をテストする
    • ファイルアップロードをテストする
    • 時間をテストする
    • webサービスをテストする
    • rakeタスクをテストする
    • まとめ
    • 演習問題
  • 11. テスト駆動開発に向けて
    • フィーチャを定義する
    • レッドからグリーンへ
    • クリーンアップ
    • まとめ
    • 演習問題
  • 12. 最後のアドバイス
    • 小さなテストで練習してください
    • 自分がやっていることを意識してください
    • 短いスパイクを書くのはOKです
    • 小さくコードを書き、小さくテストするのもOKです
    • できるだけフィーチャスペックから書き始めてください
    • テストをする時間を作ってください
    • 常にシンプルにしてください
    • 古い習慣に戻らないでください!
    • テストを使ってコードを改善してください
    • 自動テストのメリットを周りの人たちに売り込んでください
    • 練習し続けてください
    • それではさようなら
  • Railsのテストに関するさらなる情報源
    • RSpec
    • Railsのテスト
  • 訳者あとがき
    • 伊藤淳一
    • 秋元利春
    • 魚振江
  • 日本語版の謝辞
  • Everyday Railsについて
  • 著者について
  • 訳者紹介
    • 伊藤淳一
    • 秋元利春
    • 魚振江
  • カバーの説明
  • 変更履歴
    • 2014/04/17
    • 2014/02/28
    • 2014/02/10
    • 2014/02/07

This Book is for Sale Through Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed books like this one.

Leanpub_logo_medium

Read

Leanpub has a wide selection of in-progress and completed books available to browse, purchase, and enjoy.

Browse the Bookstore

Write

Leanpub is free for authors and publishers to use. We pay authors or publishers 90% royalties minus 50 cents per sale.

Write a Book