Leanpub Header

Skip to main content

Laravel Testing Decoded 日本語版

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

本格的なアプリケーション開発には、テストの自動化が避けられません。その手法を具体的に説明した解説書です。初歩の知識から、説明されています。

This book is a translation into Japanese of Laravel Testing Decoded which was originally written in English

Minimum price

$15.00

$20.00

You pay

$20.00

Authors earn

$16.00
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
307
Readers
283
Pages
About

About

About the Book

(訳者注:この書籍の対象は、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さん)に寄付されます。

Share this book

This book is a translation into Japanese of Laravel Testing Decoded which was originally written in English

Author

About the Authors

JeffreyWay

Jeffrey is a web developer, writer, speaker, and creator of Laracasts.com. He spends his days digging into cutting edge technologies, and finding new ways to teach complicated concepts.

Hirohisa Kawase

フレームワークをチェックしている時に、たまたま使用したLaravelに惹かれ、それ以降日本のPHP開発者さんへ紹介しています。

Contents

Table of Contents

  • 日本語版前書き
    • 日本語翻訳版について
  • ようこそ
    • 始まったばかり
    • この本はどんな人に役立つの?
    • なぜ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 ライセンス
    • 追記

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub