Laravel Testing Decoded 日本語版
$15.00
最低販売価格
$20.00
希望販売価格

Laravel Testing Decoded 日本語版

待望のLaravel 4ユニットテスト解説本

本書について

(訳者注:この書籍の対象は、Laravel4.0です。 現行の4.2でも考え方の部分は利用できますが、Laravelを含め、紹介しているツール類の更新・進化もあり、本書通り動作しない部分が多くなっています。著者は新しいテストについての書籍を、この秋に出版するとつぶやきましたが、2015年1月に次期バージョンの5.0リリースが予定されており、変更点も多いため、たぶん新しいテスト本は大分遅れると思われます。)

何度も経験しました。アプリケーションが大きくなるにつれ、段々いい加減になり、テストしないソースコードも増えていくんです。そのうち、アプリケーションを手動でテストするのは現実的でなくなってきて、「無理だ!」という話しになります。そんな時こそ、自動テストが本当に必要なんだと、認識し始めるのです。もちろん、皆さんも過去にTDDに関する書籍を読んでいらっしゃるでしょう。しかし状況は多種多様で、突然やってくる素晴らしい幸福な瞬間、「ああ、そうだったのか」と理解できる時を味わうには、実際に試してみる経験が必要なのです。

テストにおける問題は唯一、技巧的に陥ってしまう可能性があることだけです。実際、今皆さんが取り掛かっているソースコードは、テストできない可能性が大きいでしょう! 皆さんがまだ実感していないのは、そうです、テストは自分のコードを期待通りに動かすのに役立ち、パターンに従えばより良い開発者になれることです。過去のプロジェクトではまった、ぐちゃぐちゃで、不安定なスパゲティーコードは、もう現れません。信じてください。すぐにあなたも、新しいコードを目の前にすると、微笑みを浮かべながら、「これはどうやったらテストできるかな」とつぶやき、過去の自分を振り返り、(荒っぽくて古い)カウボーイのようなやり方をしていたことを思い出し笑いだすでしょう。

近代的なソフトウェア開発へようこそ。

テストの原則(とTDD)は、言語に依存するものではありません。実践しようと思えば、様々なツールとテクニックに手が届きます。この本ではアプリケーションをテストするために、Laravelの手法を深く分析しつつ、可能な限りTDDについても紹介していきます。

(以上、Laravel Testing Decoded、日本語版本文より)

Laravel4を使用し、よくテストされた、Webアプリを構築したい開発者のために、PHPUnitを初め、Mockery、Codeceptionを使用し、ユニットテスト、結合(統合)テスト、受け入れテストを実施したい方向けの解説書です。対象は、実際にPHPでテストやTDDをどのように取り入れたら良いか迷っている方、Laravelのテスタビリティーに興味をお持ちの方、既にテスト駆動し開発している方々でLaravelでの適用知識を探していられる方です。

TDDが理想だが、実際に応用できない技術ではなく、行なってみれば楽しく、初めから誤りの少ないシステムを構築するには、必然であることを教えてくれます。

生涯に渡りアップデートは無料です。

購入された代金の10%はLaravelプロジェクト(Taylorさん)に寄付されます。

この本はLaravel Testing Decodedを日本語に翻訳されたものです。元は英語で書かれています。

著者について

JeffreyWay
JeffreyWay

Laravelを気に入り、縁あって関連ドキュメントを翻訳しております。この書籍はLaravel4で初めての日本語版となりました。

Hirohisa Kawase
Hirohisa Kawase

Laravelを気に入り、縁あって関連ドキュメントを翻訳しております。この書籍はLaravel4で初めての日本語版となりました。

目次

  • 日本語版前書き
    • 日本語翻訳版について
  • ようこそ
    • 始まったばかり
    • この本はどんな人に役立つの?
    • なぜLaravel限定なの?
    • 演習
    • 誤記
    • この本を学び尽くす
    • 連絡する
  • 可能性に飛び込む
  • 第1章 全てをテストする
    • あなたは既にテストしている
    • TDDから得られる6つのこと
    • 何をテストすべきか?
    • 不安定なコードの6つのサイン
    • テスト関係の専門用語
    • リラックス
  • 第2章:PHPUnitの紹介
    • インストール
    • アサーション 110
    • まとめ
  • 第3章:PHPUnitの設定
    • オプション
    • XML設定ファイル
    • 継続的テスト
    • まとめ
  • 第4章:PHPUnitのくどさを薄める
    • アサーションを関数としてインポートする
    • LaravelスタイルをPHPUnitに適用する
  • 第5章:ユニットテスト110
    • 我が苦闘
    • ユニットテスト
    • 準備、実行、断言
    • 独立させてテストする
    • テストは順番に依存してはならない
    • テスト駆動開発
    • 振る舞い駆動開発
    • 関数をテストする
    • クラスをテストする
    • プロジェクトの完成
    • まとめ
  • 第6章:モデルをテストする
    • 何をテストするのか
    • アクセサー(ゲッター)とミューテーター(セッター)
    • カスタムメソッド
    • シンプルなクエリーテスト
    • バリデーション
    • ファクトリー
    • Laravelテストヘルパー
    • まとめ
  • 第7章:Mockeryでテストを優しくする
    • モックの解説
    • インストール
    • ジレンマ
    • 解決策
    • エクスペクティション(Expectation)
    • パーシャル(部分的な)モック
    • Hamcrest
    • まとめ
  • 第8章:データベースのテスト
    • データベーステスト
    • 環境を指定する
    • テストからArtisanを呼び出す
    • 実践してください
    • メモリ上のデータベース
    • まとめ
  • 第9章:入れ替えましょう
    • Mockery
    • テスト
    • まとめ
  • 第10章:コントローラー
    • コントローラーは何を行なっているか?
    • コントローラーをテストする3ステップ
    • コントローラーテストのHello World
    • Laravelのヘルパーアサーション
    • データベースをモックする
    • リダイレクション
    • パス
    • リポジトリー
    • 構造
    • DOMクロール
    • フォーム
    • まとめ
  • 第11章:IoCコンテナ
    • 依存の注入?
    • 解決
    • Appバインド
    • まとめ
  • 第12章:テスト駆動Artisanコマンド演習
    • コマンド110
    • 演習
    • まとめ
  • 第13章:APIのテスト
    • LaravelのAPI
    • APIをテストする
    • テストの例
    • まとめ
  • 第14章:Codeceptionによる受け入れテスト
    • アミューズ・ブッシェ(食前のおつまみ)
    • テストの気分転換
    • インストール
    • ブートストラップ
    • 受け入れテストの設定
    • テストを生成する
    • まとめ
  • 第15章:Codeceptionを使用した認証の実践
    • 機能
    • 機能をCodeception向けに変換する
    • ルートの登録
    • まとめ
  • 第16章:Codeceptionでの機能テスト
    • Laravel4モジュール
    • TestGuyを更新する
    • ユーザーを登録する
    • まとめ
  • 第17章:Travis CIで持続的インテグレーション
    • Hello, Travis
    • ビルド設定
    • まとめ
  • よくある質問(生きているドキュメント)
    • 1. グローバル関数はどうやってテストするのでしょうか?
    • 2. Codeceptionのテストのため、どうやってSQLダンプを生成するのか?
    • 3. Protectedメソッドはどうテストするのか?
    • 4. ゲッターやセッターもテストすべきか?
    • 5. どうしてPHPUnitは、フィルターを無視するのでしょうか?
    • 6. テストしているクラスのメソッドをモックにできますか?
    • 7. テスト名に下線を入れるのが好きなんです。それでも良いですか?
  • 最後に
    • ちょっと待ってください…
  • 追補:Mockery
    • モックオブジェクト
    • 動作要件
    • インストール
    • 0.8.*へのアップデート
    • シンプルなサンプル
    • PHPUnit統合
    • クイックリファレンス
    • 期待値条件の宣言
    • 引数のバリデーション
    • パーシャルモックを作成する
    • モックオブジェクトの検出
    • デフォルトモック期待値条件
    • パブリックなプロパティーのモック
    • public staticメソッドのモック
    • インスタンス化時にモックオブジェクトを生成する(インスタンス化モック)
    • メソッドの参照渡し引数の動作を妨げる
    • デメテルチェーンと流れるようなインターフェイス
    • Mockery例外
    • モックオブジェクトの記録
    • Finalクラス/メソッドの取り扱い
    • Mockeryグローバル設定
    • 予約メソッド名
    • PHPマジックメソッド
    • なるほど!(了解事項)
    • クイックサンプル
    • Mockery ライセンス
    • 追記

Leanpubは無条件かつノーリスクで100%の満足を保証します

Leanpubでお買い上げいただいた書籍は、ご購入後60日以内であれば全額返金いたします。払い戻しはわずか2クリックで完了します。払い戻し処理は手作業で行うため、完了まで数日かかる場合があります。詳しくは利用規約をご覧ください。

80%のロイヤルティ。$20の本で$16を獲得。

私たちは80%のロイヤルティを支払います。これは誤植ではありません:$20の販売で$16を獲得します。$20であなたの本やコースの5000コピーを売った場合、$80,000を獲得します。

(はい、Leanpubでそれ以上をすでに獲得している著者もいます。)

実際には、著者はLeanpubで執筆、出版、販売を行うことで、1200万ドル以上を獲得しました。

Leanpubでの執筆について詳しく知る

無料更新。無料アップデート。 DRMフリー。

Leanpubの本を購入すると、著者が本を更新している限り、無料で更新されます!多くの著者は、Leanpubを使用して、執筆中の書籍を出版しています。いつ本を購入したか、いくら支払ったかに関係なく、すべての読者は無料のアップデートを入手できます(無料も含む)。

Leanpubの本はPDF(コンピューター用)、EPUB(iPad用)、MOBI(Kindle用)のフォーマットに対応してます。本に含まれるフォーマットは、このページの右上隅に表示されます。

Leanpubの本には、DRMコピー防止のナンセンスがないため、サポートされているデバイスで簡単に読むことができます

Leanpubの電子書籍形式とそれらを読む場所の詳細をご覧ください

Leanpubで執筆と出版

著者や編集者はLeanpubを通して執筆中や完成した素晴らしい本を出版しています。Leanpubを利用して本を執筆、出版、売ることが出来ます! Leanpubは、真剣な著者にとって強力なプラットフォームであり、シンプルでエレガントな執筆と出版のワークフローと、執筆中の電子書籍の販売に焦点を当てたストアを組み合わせています. Leanpubは、著者にとって魔法のタイプライターです。プレーンテキストで書くだけで、電子書籍をボタン一つで出版出来ます。すごく簡単です。

Leanpubでの執筆についてもっと知る