SlideShare a Scribd company logo
OSC 2010 Kansai@Kobe (2010/3/13)




 Eclipse PDT + MakeGood
  によるPHPコードのテスト
Piece Project
久保敦啓 http://twitter.com/iteman
松藤秀治 http://twitter.com/matsu_hide




     - 1 -      Copyright © 2010 Piece Project, All rights reserved.
自己紹介


まっつん
松藤 秀治 (まつふじ ひではる)
Piece Project
Eclipseプラグイン
まっつんチャレンジ
  (ITEMAN Blog)
    - 2 -   Copyright © 2010 Piece Project, All rights reserved.
アジェンダ



1.   Piece Frameworkの活動
2.   IDEを使ったPHPのテスト
3.   PHP, Eclipseにおけるテスト
4.   MakeGoodのご紹介
5.   MakeGoodのデモ

       - 3 -   Copyright © 2010 Piece Project, All rights reserved.
Piece Framework とは?



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

    - 4 -    Copyright © 2010 Piece Project, All rights reserved.
Piece Frameworkの主なプロダクト
Piece_Unity
 Webアプリケーションフレームワーク

Piece_ORM
 オブジェクトリレーショナルマッピングフレームワーク

Piece_Right
 バリデーションフレームワーク

Piece_Flow
 Webフローエンジン

Piece_IDE
 Eclipse上に構築されたPiece Frameworkの統合開発環境
     - 5 -     Copyright © 2010 Piece Project, All rights reserved.
Piece_IDE




- 6 -    Copyright © 2010 Piece Project, All rights reserved.
Piece Framework の主なプロダクト



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


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


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




- 8 -     Copyright © 2010 Piece Project, All rights reserved.
今後の計画


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



ジェネレーティブプログラミング
 ドメイン駆動設計
 プロダクトライン
 モデル駆動開発
 …
DSL, DI, AOP, …

   - 10 -   Copyright © 2010 Piece Project, All rights reserved.
今後の計画


MakeGood
コンフィギュレーションエンジン
ワークフローエンジン
Eclipseプラグイン
既存のプロダクトのリニューアル
…
   - 11 -   Copyright © 2010 Piece Project, All rights reserved.
開発に参加するには?(GitHub)



1. パッチ、拡張を適用したいプロ
ダクトをforkする。
2. パッチ、拡張を適用する。
3. pieceアカウントにpull
requestを送信する。

    - 12 -   Copyright © 2010 Piece Project, All rights reserved.
PHPをサポートしているIDE


Zend Studio for Eclipse
NetBeans
IntelliJ IDEA Ultimate Edition
Eclipse PDT
他にも、Delphi for PHP, VS.Phpなどがある。




       - 13 -   Copyright © 2010 Piece Project, All rights reserved.
Zend Studio for Eclipse


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

   - 14 -    Copyright © 2010 Piece Project, All rights reserved.
Zend Studio for Eclipse




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




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


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




- 17 -    Copyright © 2010 Piece Project, All rights reserved.
IntelliJ IDEA Ultimate Edition


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


    - 18 -   Copyright © 2010 Piece Project, All rights reserved.
IntelliJ IDEA Ultimate Edition




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


エディタ、アウトライン
実行環境
パッケージエクスプローラ
無償
テストに関するサポートはない
  - 20 -     Copyright © 2010 Piece Project, All rights reserved.
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


              - 21 -     Copyright © 2010 Piece Project, All rights reserved.
PHPのテスティングフレームワーク




PHPUnit
  Sebastian Bergmann
SimpleTest
  Marcus Baker, Perrick Penet


      - 22 -   Copyright © 2010 Piece Project, All rights reserved.
テスティングフレームワークの実行

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

                   実行   プラグイン                   PDTとの連携
PHPUnit            ○          ○※                         △
SimpleTest         ○            ○                        ×

※PTI (PHP Tool Integration)

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


MakeGoodは、Eclipse PDT上で
ユニットテストを実行するための
テストランナーを提供します。
MakeGoodは、様々な特徴により
テスト駆動開発(TDD: Test
Driven Development)を強力に
サポートします。
     - 24 -    Copyright © 2010 Piece Project, All rights reserved.
特徴


パッケージエクスプローラ、PHP
エディタからのテストの実行
 テストコード
 プロダクトコード
テスト実行時にシステムインク
ルードパスが使用可能
PHPUnit, SimpleTestのサポート
     - 25 -   Copyright © 2010 Piece Project, All rights reserved.
アーキテクチャ


              拡張
MakeGood                      PDT
                                                 Eclipse

            実行


 Stagehand_TestRunner
                                                 PHP


 PHPUnit          SimpleTest

  - 26 -    Copyright © 2010 Piece Project, All rights reserved.
メニューからのテストの実行




- 27 -   Copyright © 2010 Piece Project, All rights reserved.
テスト成功時の結果ビュー




- 28 -   Copyright © 2010 Piece Project, All rights reserved.
テスト失敗時の結果ビュー




- 29 -   Copyright © 2010 Piece Project, All rights reserved.
提供を予定している主なフィーチャ

PHPファイルセーブ時のテストの
実行
すべてのテストの実行
最初の失敗またはエラーの際の停
止
システムインクルードパスの要素
に対するコンテントアシスト
   - 30 -   Copyright © 2010 Piece Project, All rights reserved.
提供を予定している主なフィーチャ

キーバインディングの強化
結果ビューからのPHPファイルの
オープン
結果ビューからのクラス、メソッ
ドの作成


   - 31 -   Copyright © 2010 Piece Project, All rights reserved.
今後の目標



継続的テスティング(Continuous
Testing)環境への進化
 素早いフィードバック
 リファクタリングサポート
 さまざまな情報の可視化

    - 32 -   Copyright © 2010 Piece Project, All rights reserved.
リリースのお知らせ




Twitterやオフィシャルサイ
ト、ITEMAN Blogなどでお知ら
せします。
是非ご購読をお願いします。


    - 33 -     Copyright © 2010 Piece Project, All rights reserved.
ご意見、ご要望、パッチ求む




まずは使ってみてください。
ご意見、ご要望、パッチなど、お
待ちしております。


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

http://twitter.com/piece_framework
 Piece Frameworkのニュース
http://twitter.com/iteman
 iteman
http://twitter.com/matsu_hide
 まっつん
http://twitter.com/kumatch
 kumatch

      - 35 -   Copyright © 2010 Piece Project, All rights reserved.
メーリングリスト、フォーラム




メーリングリスト: Googleグループ
 Piece Framework Users (ja)
フォーラム:
 http://redmine.piece-framework.com
 プロダクトごとに準備中です




      - 36 -   Copyright © 2010 Piece Project, All rights reserved.
関連サイト


Piece Frameworkオフィシャルサイト
  http://piece-framework.com/
GitHub
  http://github.com/piece
Piece Frameworkプロダクトページ
  http://redmine.piece-framework.com/
ITEMAN Blog
  http://iteman.jp/blog/


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

More Related Content

PDF
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
PDF
WebRTC開発者向けプラットフォーム SkyWayの裏側
PDF
フラッター開発におけるシークレット情報取扱考察
PDF
Dart / Flutter コードファイルジェネレート入門
PDF
Python toolforvsをインストールをしてみる
PPTX
Pythonを中心としたチーム開発
PDF
Google I/O 2021 Flutter 全体報告
ODP
PySide/QtWebkitで楽々 slideshare Hack
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
WebRTC開発者向けプラットフォーム SkyWayの裏側
フラッター開発におけるシークレット情報取扱考察
Dart / Flutter コードファイルジェネレート入門
Python toolforvsをインストールをしてみる
Pythonを中心としたチーム開発
Google I/O 2021 Flutter 全体報告
PySide/QtWebkitで楽々 slideshare Hack

What's hot (19)

PDF
Androidテスティング実践3 ユニットテスト・CI編
PDF
Androidアプリケーション開発中級研修 前編
PDF
明示的アニメで、Flutterアニメーション入門
PDF
Androidテスティング実践 基礎編
PDF
Androidアプリケーション開発中級研修 後編
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
PPTX
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
PPTX
20151114 _html5無料セミナー(OSC2015徳島)
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
PDF
【Unite 2018 Tokyo】エディター拡張マニアクス2018
PDF
多分怖くない, Androidとハードウェア
PDF
使ってみて気づいた AGPL ライセンスの メリット・デメリット
PDF
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
PDF
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
PDF
Android組み込み開発テキスト pandaboard es編
PDF
マイクロサービスにおけるテスト自動化 with Karate
PDF
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
PDF
DartPad+CodePenで、Flutterを体験してみよう
PPTX
FIWARE Real-Time Media Stream processing using Kurento
Androidテスティング実践3 ユニットテスト・CI編
Androidアプリケーション開発中級研修 前編
明示的アニメで、Flutterアニメーション入門
Androidテスティング実践 基礎編
Androidアプリケーション開発中級研修 後編
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20151114 _html5無料セミナー(OSC2015徳島)
TensorFlowプログラミングと分類アルゴリズムの基礎
【Unite 2018 Tokyo】エディター拡張マニアクス2018
多分怖くない, Androidとハードウェア
使ってみて気づいた AGPL ライセンスの メリット・デメリット
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
ライセンスを理解してますか?知っておきたいWordPressとGPLライセンス
Android組み込み開発テキスト pandaboard es編
マイクロサービスにおけるテスト自動化 with Karate
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
DartPad+CodePenで、Flutterを体験してみよう
FIWARE Real-Time Media Stream processing using Kurento
Ad

Similar to Eclipse PDT + MakeGood による PHP コードのテスト (20)

PDF
Eclipse PDT + MakeGoodによるPHPコードのテスト
PDF
MakeGoodで快適なテスト駆動開発を
PDF
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
PDF
Getting Started with Testing using PHPUnit
PDF
Introduction to Continuous Test Runner MakeGood
PDF
Code igniterでテスト駆動開発 資料作成中
PDF
PHPにおけるRIA事情と開発
PPTX
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
PDF
PHP 8 で Web 以外の世界の扉を叩く
PDF
いまどきのPHP開発現場 -2015年秋-
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PDF
Webアプリの動的部分に着目したグレーボックス統合テストとテンプレート変数カバレッジの提案
PPT
2009年のPHPフレームワーク
PDF
Software Development with Symfony
PDF
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
PPT
LL言語でもHudsonを使おう!
KEY
EC-CUBE + PHPUnit で 実践テスト駆動開発
PPT
PHP agile test tips
PDF
PHPの今とこれから 2013
PPTX
ZendStudioのご紹介
Eclipse PDT + MakeGoodによるPHPコードのテスト
MakeGoodで快適なテスト駆動開発を
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Getting Started with Testing using PHPUnit
Introduction to Continuous Test Runner MakeGood
Code igniterでテスト駆動開発 資料作成中
PHPにおけるRIA事情と開発
JavaFX + NetBeans環境におけるJenkinsの活用(Jenkins第六回勉強会)
PHP 8 で Web 以外の世界の扉を叩く
いまどきのPHP開発現場 -2015年秋-
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Webアプリの動的部分に着目したグレーボックス統合テストとテンプレート変数カバレッジの提案
2009年のPHPフレームワーク
Software Development with Symfony
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
LL言語でもHudsonを使おう!
EC-CUBE + PHPUnit で 実践テスト駆動開発
PHP agile test tips
PHPの今とこれから 2013
ZendStudioのご紹介
Ad

More from Atsuhiro Kubo (13)

PDF
MPD Osaka Extra 5
PDF
Enaction, Not Design on MPD Osaka Extra 1
PDF
Enaction, Not Design on Symfony Meetup Kansai 2
PDF
The Birth of FormalBears - A new META for BEAR.Sunday applications
PDF
Lean Architecture / DCI Evening Report
PDF
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
PDF
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
PDF
ジェネレーティブプログラミングの世界
PDF
意図を表現するプログラミング
PDF
Introduction to Continuous Testing
PDF
Symfony2でより良いソフトウェアを作るために
PDF
How To Create Custom DSLs By PHP
PDF
Piece Framework 2.0 Background
MPD Osaka Extra 5
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on Symfony Meetup Kansai 2
The Birth of FormalBears - A new META for BEAR.Sunday applications
Lean Architecture / DCI Evening Report
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
ジェネレーティブプログラミングの世界
意図を表現するプログラミング
Introduction to Continuous Testing
Symfony2でより良いソフトウェアを作るために
How To Create Custom DSLs By PHP
Piece Framework 2.0 Background

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