まっつんチャレンジ OSC出張編 45分でわかる...

45
 45 分でわかる PHP+Eclipse による テスト駆動開発環境の構築 Piece Project 松藤秀治 [email protected] オープンソースカンファレンス 2011 Kyoto まっつんチャレンジ OSC 出張編

description

 

Transcript of まっつんチャレンジ OSC出張編 45分でわかる...

Page 1: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

  

45分でわかるPHP+Eclipseによるテスト駆動開発環境の構築

Piece Project 松藤秀治 [email protected]

オープンソースカンファレンス2011 Kyoto

まっつんチャレンジ OSC出張編

Page 2: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

まっつん

MakeGood開発者 Twitter @matsu_hide

Page 3: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

まっつんチャレンジ 次世代の技術やあまり知られていないが

高度な技術を紹介

「チャレンジ」なので結構無謀

一部で評価

http://iteman.jp/blog/

Page 4: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

Piece Framework

PHPのアプリケーションフレームワーク オープンソースソフトウェア

New BSD License Eclipse Public License

Page 5: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

今日の話

TDDのための環境の構築 なぜ環境構築の話をしようと思ったか

スライドは公開します

Page 6: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

開発環境と本番環境

本番環境の多くは Linux 開発環境も Linuxにしよう 今日は Windowsで話します

Page 7: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

基本方針 楽しんで作りましょう

オールインワン系は使用しない

OSへの依存 Windows

→なるべくインストーラのないもの Linux

→パッケージングシステムを使う パスは短めに

Page 8: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

システムワイドとプロジェクトローカル

ライブラリ (PEAR)環境をプロジェクトに閉じ込め、アップグレードや削除の影響を他のプロジェクトに与えないようにする

Page 9: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

ディレクトリ構成 (例 )

Page 10: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

今回の環境 Windows XP SP3 PHP 5.3.6 Xdebug 2.1.1 Eclipse Indigo (3.7.0) PDT 3.0 MakeGood 1.6.0 PHPUnit 3.5.14

Page 11: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

手順PHPのインストール・設定

Xdebugのインストール・設定

Eclipseのインストール

PHPプロジェクトの作成

PEARのインストール

PHPUnitのインストール

PDT, MakeGoodの設定

Page 12: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

PHP

VC6 or VC9, スレッドセーフ→ HTTPサーバ、動作に合わせて選択

5.3.6からは VC9のみ

Page 13: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

php.ini php.ini-developmentを使用 ~/site-php/configに配置 Eclipse用と HTTPサーバ用とに分ける

→ PDTは追加の設定ファイルを読み込まないため、 Eclipse用の php.iniにはロードするエクステンションをすべて記述する必要がある

Page 14: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

手順PHPのインストール・設定

Xdebugのインストール・設定

Eclipseのインストール

PHPプロジェクトの作成

PEARのインストール

PHPUnitのインストール

PDT, MakeGoodの設定

Page 15: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

Xdebug PHPと同じビルド環境を選ぶ Windowsはダウンロードするだけ ~/site-php/extに配置 ~/site-php/config/php.iniの設定

[xdebug]zend_extension=C:/cygwin/home/matsu/site-php/ext/php_xdebug-2.1.1-5.3-vc9.dllxdebug.remote_port=9000

Page 16: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

手順PHPのインストール・設定

Xdebugのインストール・設定

Eclipseのインストール

PHPプロジェクトの作成

PEARのインストール

PHPUnitのインストール

PDT, MakeGoodの設定

Page 17: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

Eclipse

Pleiadesは使わない Indigo(3.7)から PDTパッケージがなくなったので Classic(SDK)パッケージを使用する

Page 18: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

ワークスペース

ワークスペースは Eclipseのバージョンごとに作り直す

ワークスペースの命名規則の例→ パッケージ+バージョン (sdk-3.7.0)

プロジェクトはワークスペースにコピーしない

Page 19: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

Marketplace Client

[--All Available Sites--]を選択する

“market” と入力する

[Help]→[Install New Software...]

Page 20: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

PDT

[--All Available Sites--]を選択する

“php”と入力する

[Help]→[Install New Software...]

Page 21: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

MakeGood

“makegood” と入力する

葉っぱのアイコンのMakeGoodをインストールする

[Help]→[Eclipse Markeplace...]

Page 22: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

そのほかのプラグイン

必要に応じてプラグインをインストール

EGit

Page 23: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

手順PHPのインストール・設定

Xdebugのインストール・設定

Eclipseのインストール

PHPプロジェクトの作成

PEARのインストール

PHPUnitのインストール

PDT, MakeGoodの設定

Page 24: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

PHPプロジェクトの作成

ワークスペースにプロジェクトを配置しないように、 [Create project at existing location (from existing source)]を選択する

[File]→[New]→[PHP Project...]

Page 25: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

手順PHPのインストール・設定

Xdebugのインストール・設定

Eclipseのインストール

PHPプロジェクトの作成

PEARのインストール

PHPUnitのインストール

PDT, MakeGoodの設定

Page 26: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

プロジェクトローカルの PEAR環境ライブラリのアップグレードや削除の影響を他のプロジェクトに与えないようにするためにプロジェクト固有の PEAR環境を構築する

1.vendorディレクトリを作成する2.PHPのディレクトリから以下を vendorにコピーする

・ go-pear.bat・ pear(ディレクトリ )

3.コマンドラインで go-pear.batを実行する4.途中システムかローカルかのいずれにインストールする かを問い合わせてくるので [local]を選ぶ

Page 27: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

プロジェクトローカルの PEAR環境

フルパスが埋め込まれているため、ほかの環境ではメンテナンスできない

解決方法ITEMAN Blog「プロジェクトローカルな PEAR環境を構築する」

Page 28: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

手順PHPのインストール・設定

Xdebugのインストール・設定

Eclipseのインストール

PHPプロジェクトの作成

PEARのインストール

PHPUnitのインストール

PDT, MakeGoodの設定

Page 29: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

PHPUnit

PEARでインストール インストール方法はドキュメントを参照

ドキュメントに従っても環境によってはうまくインストールできない場合があるが、メッセージに従って依存するライブラリをインストールしていけば問題ない

Page 30: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

手順PHPのインストール・設定

Xdebugのインストール・設定

Eclipseのインストール

PHPプロジェクトの作成

PEARのインストール

PHPUnitのインストール

PDT, MakeGoodの設定

Page 31: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

PDTの実行環境とデバッガ

PDTではひとつの実行環境に対してひとつのデバッガを指定する

デバッガには Xdebugか Zend Debuggerを指定できる

デフォルトの設定としてデバッガとそのデバッガを使用できる実行環境を設定する

Page 32: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築

ResultSqure MakeGoodビュー

ResultSqureをダブルクリックしてMakeGoodビューを開く

Page 33: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築

テストを実行できない場合、 MakeGoodビューにその理由が表示されるので、そのメッセージに従うと比較的容易に環境を構築できる

Page 34: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築

PHPの実行環境を設定する [Window]→[Preferences...] [PHP]→[PHP Executables] [Add...]ボタンで実行環境を追加する

Page 35: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築

PHPの実行ファイル、設定ファイル、 SAPIのタイプ、デバッガをそれぞれ設定する

Page 36: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築

使用するデバッガを選択する

[Window]→[Preferences...] [PHP]→[PHP Debug]

Page 37: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築デフォルトのデバッガと使用する実行環境を選択する

Page 38: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築

MakeGoodの設定を行う プロジェクトを右クリックして[Properties...]

[MakeGood]

Page 39: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テスト環境の構築

テスティングフレームワークやプリロードスクリプト、テストディレクトリを設定する

Page 40: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

テストの実行

Page 41: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

まとめ

楽しんで作りましょう

オールインワン系は使用しない

常に工夫する

Linuxを使おう MakeGoodを使おう

Page 42: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

@piece_framework Piece Frameworkのニュース

@iteman iteman

@matsu_hide まっつん

Twitter

Page 43: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

PHP for Windowshttp://windows.php.net/

Xdebughttp://xdebug.org/

Eclipsehttp://eclipse.org/

PHPUnitのインストールhttp://www.phpunit.de/manual/3.5/ja/installation.html

参考サイト

Page 44: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

MakeGoodhttp://redmine.piece-framework.com/projects/makegood

ITEMAN Blog 「プロジェクトローカルな PEAR 環境を構築する」http://iteman.jp/blog/2009/04/pear-1.html

参考サイト

Page 45: まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築

GitHub http://github.com/piece

Piece Frameworkプロダクトページ http://redmine.piece-framework.com

MakeGoodプロダウトページ http://redmine.piece-

framework.com/projects/makegood

関連サイト