eclipse pdt + makegood による php コードのテスト
DESCRIPTION
TRANSCRIPT
![Page 1: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/1.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 1 -
Piece Project
久保敦啓 http://twitter.com/iteman 松藤秀治 http://twitter.com/matsu_hide
Eclipse PDT + MakeGoodによるPHPコードのテスト
OSC 2010 Kansai@Kobe (2010/3/13)
![Page 2: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/2.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 2 -
自己紹介
まっつん
松藤 秀治 (まつふじ ひではる)
Piece Project
Eclipseプラグイン
まっつんチャレンジ (ITEMAN Blog)
![Page 3: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/3.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 3 -
アジェンダ
1. Piece Frameworkの活動
2. IDEを使ったPHPのテスト
3. PHP, Eclipseにおけるテスト
4. MakeGoodのご紹介
5. MakeGoodのデモ
![Page 4: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/4.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 4 -
Piece Framework とは?
PHPのアプリケーションフレームワーク
PHPの世界にジェネレーティブプログラミング、DSL, 言語ワークベンチ、言語指向プログラミングを導入することを目的としている
![Page 5: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/5.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 5 -
Piece Frameworkの主なプロダクト
Piece_Unity
Webアプリケーションフレームワーク
Piece_ORM
オブジェクトリレーショナルマッピングフレームワーク
Piece_Right
バリデーションフレームワーク
Piece_Flow
Webフローエンジン
Piece_IDE
Eclipse上に構築されたPiece Frameworkの統合開発環境
![Page 6: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/6.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 6 -
Piece_IDE
![Page 7: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/7.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 7 -
Piece Framework の主なプロダクト
Stagehand_TestRunner
テスト駆動開発のためのテストランナー
MakeGood
Eclipse PDTでテスト駆動開発を行うためのテストランナー
![Page 8: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/8.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 8 -
Stagehand_TestRunner
![Page 9: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/9.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 9 -
今後の計画
「与えられた特定の要求仕様を元に、構成の知識を生かし、再利用可能な基本部分を使って、カスタム化かつ最適化された中間または最終製品を自動的に生成します。」-- 「ジェネレーティブプログラミング」
![Page 10: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/10.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 10 -
今後の計画
ジェネレーティブプログラミング
ドメイン駆動設計 プロダクトライン モデル駆動開発 …DSL, DI, AOP, …
![Page 11: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/11.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 11 -
今後の計画
MakeGood
コンフィギュレーションエンジン
ワークフローエンジン
Eclipseプラグイン
既存のプロダクトのリニューアル
…
![Page 12: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/12.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 12 -
開発に参加するには?(GitHub)
1. パッチ、拡張を適用したいプロダクトをforkする。
2. パッチ、拡張を適用する。
3. pieceアカウントにpull requestを送信する。
![Page 13: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/13.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 13 -
PHPをサポートしているIDE
Zend Studio for Eclipse
NetBeans
IntelliJ IDEA Ultimate Edition
Eclipse PDT
他にも、Delphi for PHP, VS.Phpなどがある。
![Page 14: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/14.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 14 -
Zend Studio for Eclipse
EclipseベースZend FrameworkのサポートIDEでも本命?有償PHPUnit のサポート
![Page 15: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/15.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 15 -
Zend Studio for Eclipse
![Page 16: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/16.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 16 -
NetBeans
symfonyのサポート無償PHPUnit, Seleniumのサポート
![Page 17: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/17.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 17 -
NetBeans
![Page 18: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/18.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 18 -
IntelliJ IDEA Ultimate Edition
有償Web IDE (PhpStorm/WebStorm)PHPUnitのサポート
![Page 19: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/19.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 19 -
IntelliJ IDEA Ultimate Edition
![Page 20: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/20.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 20 -
Eclipse PDT
エディタ、アウトライン実行環境パッケージエクスプローラ無償テストに関するサポートはない
![Page 21: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/21.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 21 -
IDEのテストサポート状況
テスト 無償?
Zend Studio for Eclipse 6.1.2 PHPUnit ×
NetBeans 6.8 PHPUnit ○
IntelliJ IDEA 9.0.1 PHPUnit ×
Eclipse PDT 2.1.1 - ○
MakeGood
![Page 22: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/22.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 22 -
PHPのテスティングフレームワーク
PHPUnit
Sebastian Bergmann
SimpleTest
Marcus Baker, Perrick Penet
![Page 23: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/23.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 23 -
テスティングフレームワークの実行
Eclipse上からこれらのテスティングフレームワークを実行するには?
実行 プラグイン PDTとの連携
PHPUnit ○ ○※ △
SimpleTest ○ ○ ×
※PTI (PHP Tool Integration)
![Page 24: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/24.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 24 -
MakeGood
MakeGoodは、Eclipse PDT上でユニットテストを実行するためのテストランナーを提供します。
MakeGoodは、様々な特徴により テスト駆動開発(TDD: Test Driven Development)を強力にサポートします。
![Page 25: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/25.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 25 -
特徴
パッケージエクスプローラ、PHPエディタからのテストの実行 テストコード プロダクトコードテスト実行時にシステムインクルードパスが使用可能PHPUnit, SimpleTestのサポート
![Page 26: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/26.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 26 -
アーキテクチャ
MakeGood PDT
Stagehand_TestRunner
PHPUnit SimpleTest
拡張
実行
Eclipse
PHP
![Page 27: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/27.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 27 -
メニューからのテストの実行
![Page 28: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/28.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 28 -
テスト成功時の結果ビュー
![Page 29: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/29.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 29 -
テスト失敗時の結果ビュー
![Page 30: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/30.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 30 -
提供を予定している主なフィーチャ
PHPファイルセーブ時のテストの実行
すべてのテストの実行
最初の失敗またはエラーの際の停止
システムインクルードパスの要素に対するコンテントアシスト
![Page 31: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/31.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 31 -
提供を予定している主なフィーチャ
キーバインディングの強化
結果ビューからのPHPファイルのオープン
結果ビューからのクラス、メソッドの作成
![Page 32: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/32.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 32 -
今後の目標
継続的テスティング(Continuous Testing)環境への進化
素早いフィードバック
リファクタリングサポート
さまざまな情報の可視化
![Page 33: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/33.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 33 -
リリースのお知らせ
Twitterやオフィシャルサイト、ITEMAN Blogなどでお知らせします。
是非ご購読をお願いします。
![Page 34: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/34.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 34 -
ご意見、ご要望、パッチ求む
まずは使ってみてください。
ご意見、ご要望、パッチなど、お待ちしております。
![Page 35: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/35.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 35 -
http://twitter.com/piece_framework
Piece Frameworkのニュース
http://twitter.com/iteman
iteman
http://twitter.com/matsu_hide
まっつん
http://twitter.com/kumatch
kumatch
![Page 36: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/36.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 36 -
メーリングリスト、フォーラム
メーリングリスト: Googleグループ Piece Framework Users (ja)
フォーラム: http://redmine.piece-framework.com プロダクトごとに準備中です
![Page 37: Eclipse PDT + MakeGood による PHP コードのテスト](https://reader034.vdocuments.net/reader034/viewer/2022042521/54c4511c4a7959bd018b45bd/html5/thumbnails/37.jpg)
Copyright 2010 Piece Project, All rights reserved.©- 37 -
関連サイト
Piece Frameworkオフィシャルサイト http://piece-framework.com/
GitHub http://github.com/piecePiece Frameworkプロダクトページ http://redmine.piece-framework.com/
ITEMAN Blog http://iteman.jp/blog/