php-study69

24
テスト少女 Laravel 第69回 PHP勉強会 2013 / 06 /24 向井賢一 Tuesday, June 25, 13

Upload: kenichi-mukai

Post on 03-Jul-2015

705 views

Category:

Technology


1 download

DESCRIPTION

「第69回 PHP勉強会」の発表資料です。 http://atnd.org/events/40476

TRANSCRIPT

Page 1: php-study69

テスト少女 Laravel第69回 PHP勉強会

2013 / 06 /24 向井賢一

Tuesday, June 25, 13

Page 2: php-study69

自己紹介

• 向井賢一

• 職業 : 雑用係

• https://twitter.com/mukaken

• https://www.facebook.com/mukaken

Tuesday, June 25, 13

Page 3: php-study69

魔法少女ララベルとは無関係です

Tuesday, June 25, 13

Page 4: php-study69

Laravel 作者から返事「ナルニア国物語が由来」

Laravel の名前の由来について

「魔法少女ララベル」と関係があるのか

Laravel 作者に凸

https://twitter.com/mikamix/status/339194857807544321

Tuesday, June 25, 13

Page 5: php-study69

日本語のコミュニティ• Laravel jp• www.facebook.com/groups/laravel.jp/•日本語では最大のコミュニティ

54人が参加

Tuesday, June 25, 13

Page 6: php-study69

Laravel 4 正式版リリース

5/28 (日本時間5/29 4:25)

Tuesday, June 25, 13

Page 7: php-study69

Laravel 4 動作環境

• Apache か nginx 、もしくは他の互換性のある Webサーバー

• PHP 5.3.7以上• MCrypt ライブラリ

Tuesday, June 25, 13

Page 8: php-study69

注意!

• Laravel 3 から Laravel 4 は、大幅に変更されています

• Laravel 3 は 簡単

• Laravel 4 は 少しだけ難しくなった

Tuesday, June 25, 13

Page 9: php-study69

Laravel 4 特徴1

• PSR-0, PSR-1 コーディング基準• Composer による依存管理• Eloquent ORM → 抽象的なORMで人気が高い

Tuesday, June 25, 13

Page 10: php-study69

Laravel 4 特徴2

• Laravelは読み書きしやすいフレームワーク• 理由の一つはコアが提供しているメソッドがスタティックであること

• IoC(Inversion of control)コンテナ → クラスの依存性を管理するツール

Tuesday, June 25, 13

Page 11: php-study69

Laravel Testing Decoded

https://leanpub.com/laravel-testing-decodedhttps://leanpub.com/laravel-testing-decoded-japanese

日本語訳版

Tuesday, June 25, 13

Page 12: php-study69

https://twitter.com/grmpyprogrammer/status/344089244274401280

PHP 界隈ではテストにうるさいChris Hartjes も『Laravel Testing Decoded』を大絶賛

Tuesday, June 25, 13

Page 13: php-study69

The Grumpy Programmer's Guide To Building Testable PHP Applications

https://leanpub.com/grumpy-testingTuesday, June 25, 13

Page 14: php-study69

http://atnd.org/events/39924

Laravel Meetup Tokyo vol.2

2013/07/21 14:00 to 17:0020 人VOYAGE GROUP セミナールーム パンゲア

Laravel Testing Decoded 日本語版 の輪読会

Tuesday, June 25, 13

Page 15: php-study69

Laravel とは

• テストがしやすい環境 (Laravel4)

• IoC コンテナ

• Mockery

• Symfony コンポーネント流用

• Laravel Testing Decoded (本)

Tuesday, June 25, 13

Page 16: php-study69

テストは重要なのか?

Tuesday, June 25, 13

Page 17: php-study69

テストの重要性 1どこの国に行っても、どのカンファレンスに出席しても、この質問がなされない事はない。Googleの新入社員でさえ、新入社員オリエンテーションに私が姿を現すとすぐに尋ねてくる。

「グーグルではどうやってソフトウェアテストをしているんですか?」

『テストから見えてくるグーグルのソフトウェア開発』より

2012/4/2 原書発売 / googleソフトウェアエンジニア幹部

Tuesday, June 25, 13

Page 18: php-study69

テストの重要性 2グーグルはスピードとスケールに関する多くの問

題を解決してきており、おかげでグーグルは大企業でもかかわらず、スタートアップのペースでソフトウェアをリリースしている。

『テストから見えてくるグーグルのソフトウェア開発』より

ちなみに Amazon は

1時間に1,200回リリース

Tuesday, June 25, 13

Page 19: php-study69

テストの重要性 3マイクロソフトは、テストをソフトウェアエンジニアリングのエリートが手がける名誉ある仕事に変えたのだ。マイクロソフトのテスターたちは、カンファレンスのスピーカーとして引っ張りだこだった。

『テストから見えてくるグーグルのソフトウェア開発』より

『How We Test Software at Microsoft』発売の2008/10/10 当時の事

優秀なエンジニアを

レドモンドに集結

Tuesday, June 25, 13

Page 20: php-study69

Laravel Testing Decoded (JP)の目次1

• 第1章 全てをテストする

• 第2章:PHPUnitの紹介

• 第3章:PHPUnitの設定

• 第4章:PHPUnitのくどさを薄める

• 第5章:ユニットテスト110

Tuesday, June 25, 13

Page 21: php-study69

Laravel Testing Decoded (JP)の目次2

• 第6章:モデルをテストする

• 第7章:Mockeryでテストを優しくする

• 第8章:データベースのテスト

• 第9章:入れ替えましょう

• 第10章:コントローラー

Tuesday, June 25, 13

Page 22: php-study69

Laravel Testing Decoded (JP)の目次3

• 第11章:IoCコンテナ

• 第12章:テスト駆動Artisanコマンド演習

• 第13章:APIのテスト

• 第14章:Codeceptionによる受け入れテスト

• 第15章:Codeceptionを使用した認証Tuesday, June 25, 13

Page 23: php-study69

Laravel Testing Decoded (JP)の目次4

• 第16章:Codeceptionでの機能テスト

• 第17章:Travis CIで持続的インテグレーション

• おまけ : Mockery

Tuesday, June 25, 13

Page 24: php-study69

Laravel Testing Decoded (JP) 追記

“Laravel4 では「読み書きしやすくするためコアのメソッドは静的メソッドで提供されている」状況と 「静的メソッドを使用するとモックが作成しづらくなる結果、テスタビリティーが下がってしまう」という問題を解決するため、Mockery が統合されました。”

など、凄く面白い本ですので、オススメです!

Tuesday, June 25, 13