37
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)

Eclipse PDT + MakeGood による PHP コードのテスト

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Eclipse PDT + MakeGood による PHP コードのテスト

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 コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 2 -

自己紹介

まっつん

松藤 秀治 (まつふじ ひではる)

Piece Project

Eclipseプラグイン

まっつんチャレンジ (ITEMAN Blog)

Page 3: Eclipse PDT + MakeGood による PHP コードのテスト

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 コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 4 -

Piece Framework とは?

PHPのアプリケーションフレームワーク

PHPの世界にジェネレーティブプログラミング、DSL, 言語ワークベンチ、言語指向プログラミングを導入することを目的としている

Page 5: Eclipse PDT + MakeGood による PHP コードのテスト

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 コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 6 -

Piece_IDE

Page 7: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 7 -

Piece Framework の主なプロダクト

Stagehand_TestRunner

テスト駆動開発のためのテストランナー

MakeGood

Eclipse PDTでテスト駆動開発を行うためのテストランナー

Page 8: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 8 -

Stagehand_TestRunner

Page 9: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 9 -

今後の計画

「与えられた特定の要求仕様を元に、構成の知識を生かし、再利用可能な基本部分を使って、カスタム化かつ最適化された中間または最終製品を自動的に生成します。」-- 「ジェネレーティブプログラミング」

Page 10: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 10 -

今後の計画

ジェネレーティブプログラミング

ドメイン駆動設計 プロダクトライン モデル駆動開発 …DSL, DI, AOP, …

Page 11: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 11 -

今後の計画

MakeGood

コンフィギュレーションエンジン

ワークフローエンジン

Eclipseプラグイン

既存のプロダクトのリニューアル

Page 12: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 12 -

開発に参加するには?(GitHub)

1. パッチ、拡張を適用したいプロダクトをforkする。

2. パッチ、拡張を適用する。

3. pieceアカウントにpull requestを送信する。

Page 13: Eclipse PDT + MakeGood による PHP コードのテスト

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 コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 14 -

Zend Studio for Eclipse

EclipseベースZend FrameworkのサポートIDEでも本命?有償PHPUnit のサポート

Page 15: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 15 -

Zend Studio for Eclipse

Page 16: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 16 -

NetBeans

symfonyのサポート無償PHPUnit, Seleniumのサポート

Page 17: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 17 -

NetBeans

Page 18: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 18 -

IntelliJ IDEA Ultimate Edition

有償Web IDE (PhpStorm/WebStorm)PHPUnitのサポート

Page 19: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 19 -

IntelliJ IDEA Ultimate Edition

Page 20: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 20 -

Eclipse PDT

エディタ、アウトライン実行環境パッケージエクスプローラ無償テストに関するサポートはない

Page 21: Eclipse PDT + MakeGood による PHP コードのテスト

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 コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 22 -

PHPのテスティングフレームワーク

PHPUnit

Sebastian Bergmann

SimpleTest

Marcus Baker, Perrick Penet

Page 23: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 23 -

テスティングフレームワークの実行

Eclipse上からこれらのテスティングフレームワークを実行するには?

実行 プラグイン PDTとの連携

PHPUnit ○ ○※ △

SimpleTest ○ ○ ×

※PTI (PHP Tool Integration)

Page 24: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 24 -

MakeGood

MakeGoodは、Eclipse PDT上でユニットテストを実行するためのテストランナーを提供します。

MakeGoodは、様々な特徴により テスト駆動開発(TDD: Test Driven Development)を強力にサポートします。

Page 25: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 25 -

特徴

パッケージエクスプローラ、PHPエディタからのテストの実行 テストコード プロダクトコードテスト実行時にシステムインクルードパスが使用可能PHPUnit, SimpleTestのサポート

Page 26: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 26 -

アーキテクチャ

MakeGood PDT

Stagehand_TestRunner

PHPUnit SimpleTest

拡張

実行

Eclipse

PHP

Page 27: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 27 -

メニューからのテストの実行

Page 28: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 28 -

テスト成功時の結果ビュー

Page 29: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 29 -

テスト失敗時の結果ビュー

Page 30: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 30 -

提供を予定している主なフィーチャ

PHPファイルセーブ時のテストの実行

すべてのテストの実行

最初の失敗またはエラーの際の停止

システムインクルードパスの要素に対するコンテントアシスト

Page 31: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 31 -

提供を予定している主なフィーチャ

キーバインディングの強化

結果ビューからのPHPファイルのオープン

結果ビューからのクラス、メソッドの作成

Page 32: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 32 -

今後の目標

継続的テスティング(Continuous Testing)環境への進化

素早いフィードバック

リファクタリングサポート

さまざまな情報の可視化

Page 33: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 33 -

リリースのお知らせ

Twitterやオフィシャルサイト、ITEMAN Blogなどでお知らせします。

是非ご購読をお願いします。

Page 34: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 34 -

ご意見、ご要望、パッチ求む

まずは使ってみてください。

ご意見、ご要望、パッチなど、お待ちしております。

Page 35: Eclipse PDT + MakeGood による PHP コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 35 -

Twitter

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 コードのテスト

Copyright 2010 Piece Project, All rights reserved.©- 36 -

メーリングリスト、フォーラム

メーリングリスト: Googleグループ Piece Framework Users (ja)

フォーラム: http://redmine.piece-framework.com プロダクトごとに準備中です

Page 37: Eclipse PDT + MakeGood による PHP コードのテスト

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/