CIUnit for CodeIgniter1.7.2 (fooStack v0.17) (1)

CIUnit

ひさびさの更新です。
CIUnitが1.7.2に対応しているよという話を聞き、はやく試さねばと思いつつもなにもできませんでした。
できることをできないままにしておくのは健康的じゃないので、とりあえず設置、AllTests.php実行までを試してみました。

前回設置したときとの設置作業時の大きな差は、本体のCodeIgniterを触らなくてよくなったこと。
この差はかなり大きいです。
以前試したときに、使うのを辞めようと判断したそれがなくなりました。

(1) CIUnitをダウンロード
CIUnit配布サイト foostack
1.7.2を使っているので、for1.7.2のほうをダウンロードしました。

(2)  DLしたファイルを解凍
解凍すると、fooStack_v0.17というディレクトリが現れます。
ディレクトリ構造
fooStack_v0.17
|———- fooStack/
|———- index.html
|———- README
|———- tests/
(CIUnitの導入(PHP初心者勉強会)の情報をコピペさせていただきましたw)

(3) fooStackを system/application/librariesに設置
ぽちっと設置。

(4) tests を system/application/に設置
うりゃっと設置。

(5) そして動かしてみる。
実行するとこんな感じになりました。
helperのテストをためしに1件書いて実行してみたので、
デェフォルトのままで実行するよりは1件程度テストの数は多い結果になっています

[neko@localhost tests]$ phpunit AllTests.php 
PHPUnit 3.4.13 by Sebastian Bergmann.

...........................

Time: 1 second, Memory: 11.25Mb

OK (27 tests, 42 assertions)

レポートの作成も、問題なく行えました。
(phpunitは今回再インストールをしたので、テンプレートの文字コードを後で変更しておこうと思います。)

phpunit --coverage-html report AllTests.php

次はこんな感じで順番に模索していきたいと思います。

  • helperテスト
  • modelテスト(テストDBを使ったテスト)
  • libraryテスト
  • HMVCを利用したときにどこまでやれるのかを模索
  • CIUnitでTDD!

参考資料など:
CIUnit配布サイト foostack
第44回PHP勉強会に参加しました。(CodeIgniterでphpUnitテスト)
CIUnitの導入(PHP初心者勉強会)

動かした環境(ちょっと古めの環境です)
Fedora 8
PHP 5.2.6 (cli) (built: May 8 2008 08:54:23)
PHPUnit 3.4.13 by Sebastian Bergmann
pecl/xdebug is already installed and is the same as the released version 2.1.0
mysql-5.0.45-6.fc8

蛇足:HMVCをとりあえずそのまま設置してみたらダメでしたw
version 5.2:modular_extensions_5231.zip (PHP5 only)

PHP Fatal error: Cannot redeclare class CI_Loader in {CodeIgniter設置場所}/system/libraries/Loader.php on line 29

HMVCの意味

HMVCってなんの略なのよ?と言われ、
「あ・・・・なんだったっけ????」
わからないー
以前にどこかで調べてメモを取ったような記憶があるのに
まったくわからない!!!! ということで備忘録

CodeIgniterのWIKIにあるHMVCの意味
http://codeigniter.com/wiki/Modular_Extensions_-_HMVC/

HMVC stands for Hierarchical Model View Controller.

とりあえずHMVCで検索をしてみました。それっぽい記事を発見。

http://www.jajakarta.org/turbine/jp/turbine/turbine-2/model2+1.html
文字化けて見えますが、文字コードをSJISにすると読めました。

Turbine does not directly support the Hierachical MVC pattern, but it cout be used this way by defining multiple module and template pathes (would impact performance). Note that in the HMVC each MVC instance is self-contained and separable from the rest.

Turbine は直接には、階層構造の MVC (訳注:Hierachial MVC)パターンをサポートしませんが、 多様なモジュールとテンプレートパスを定義すること(パフォーマンスに影響します)によって、この方法(HMVC)で使われます。 HMVC では各々の MVC インスタンスが独立していて他の部分から分離できることに注意して下さい。

階層化された、デザインパターンMVCのこと→HMVCって言葉は他でも使われているみたい。

CodeIgniter2に関するニュース

CodeIgniter
CodeIgniter2に関するニュースがUPされていました。

svnを使っていて、gitも検討したけど、結局のところMercurialにしたよっていうことのようです。
(私はあまり英語は得意じゃないので、間違って読んでるかもですが、たぶんそういう感じのことが書かれてる)

Mercurial
http://ja.wikipedia.org/wiki/Mercurial
私はまだ全く使ったことがありません。勉強せねば(>< ) 2010.05.16 追記 TortoiseHG
http://tortoisehg.bitbucket.org/download/index.html
ありましたwtortoiseのMercurial版!
windows上にtortoiseが、svnのgitもMercurialもという、カオスな環境になりそうです(滝汗
Mac OS X版もあるみたい。 

tortoise以外のMac用クライアント : http://www.moongift.jp/2009/01/macmercurial/

svn git Hgなtortoiseが並んだメニュー(^-^;) windows7
desktop.jpg

第51回PHP勉強会の資料

ブログを更新する余裕がないのですが、
今日お見せしたもののソースをさらしておきます。
テストモジュールと、それに使ってる画像が入ってます。
MY_email_helper.phpは入っていません。

phpstudy_51.zip

2010.5.5 追記

資料をUPしました。
修正もなにもしていません(^-^;)
前回の資料焼き直しな感じが非常にだめっぷりを発揮していますが、とりあえずUPです。

UPしているzip テストモジュールですが、テストの結果を表示後、コントローラの中で、exit();で処理をSTOPしています。
これは、hookの処理の影響を受けないようにするために、こうしています。
元々、controllerだけでヘッダもフッタも全部いれての完結を目指していたため、htmlがそのまんまコントローラに書いてしまっている状態になっています。
少しずつ改善をしていこうと思っています。

modules/test/controllers/test.phpがない訳は、このクラスで、テストのインデックスを表示したりすべてのテストを実行した結果をhtmlファイルで保存して、
それをzipでダウンロードまでやってしまおうと思っているからだったりします。

第51回PHP勉強会@関東

CodeIgniter
100回目に向かって、折り返し頭の勉強会、第51回PHP勉強会@関東が2010年3月27日(土) 14:00~17:00 に開催されます。
http://events.php.gr.jp/events/show/93

今回も、CodeIgniterなお話をさせていただく予定です。

CodeIgniter1.7とHMVCエクステンションを使った、テストモジュールを作りました。
現在うちの事務所での開発案件では、要所要所にそのテストモジュールでテストを書いています。
実際に作ってみて、また使ってみて、CodeIgniteのUnit_testクラスの良い点や、実際に使ってみてどのような効果があったかなどの、具体的なお話をさせていただきたいなと思っています。

CodeIgniter 1.7の本到着

Amazonから、CodeIgniter 1.7の本が届きました。
全部英文なので、きちんと理解できてるかどうかはあやしいのですが(汗)、けっこうわかりやすい内容です。
例文もたくさん掲載されていて、また、ほしいところにきちんと図の説明があるのが嬉しい感じです。

少しずつ読まねば!

 

PHP初心者勉強会 CodeIgniter資料

CodeIgnitertwitter経由で教えていただきました。
ということで、ご紹介です。

PHP初心者勉強会でCodeIgniterの資料がUPされています。
http://groups.google.co.jp/group/php-beginner/web/codeigniter-2

第三回フレームワーク勉強会
http://atnd.org/events/2948

第二回フレームワーク勉強会で使用されたCodeIgniterの資料

CodeIgniter1.7本が出版されてる。

とりあえずメモ。
日本で出た、徹底入門はぽろっぽろになった今でも、お世話になっている。
本ってとっても大事。

ということで、購入しようか悩み中。

追記:2010/01/31 15:50
結局、Amazonで買ってしまいましたw
2010/2/19 – 2010/2/24 到着予定です。
とても楽しみ(^-^)

 

第49回PHP勉強会@関東 動画まとめ

第49回PHP勉強会@関東に参加をしてきました。
会場をご提供いただきました、株式会社コンテンツワン
そしてオンライン、オンサイトで参加された皆様お疲れ様でした。

今回もUst中継をさせていただいたので、そのまとめです。

(1)Lithiumラボ Phase1

  • yandodさん
  • 30分
  • フレームワークに関心がある人

途中で回線が落ちてしまい、間が抜けています。
↓続きです。

(2)PHPでBrainF*ckとあと何か小ネタ

  • msakamoto-sfさん
  • 10分
  • PHPで遊びたい人

(3)NetBeansでAgavi使って携帯サイト開発してみた。

  • MugeSoさん
  • 30分
  • NetBeans興味ある人・Agaviに興味ある人・携帯サイト開発に興味ある人

(4)Datasourceをオススメします

  • kaz_29さん
  • 20分CakePHPに興味がある人

(5)MongoDB + PHP + CakePHP

  • ichikawayさん
  • 20分
  • NoSQLに興味ある人・CakePHPに興味がある人

第49回PHP勉強会@関東 http://events.php.gr.jp/events/show/88

反省

  • もうちょっと早めに、Ustの告知をすればよかったな(>_< )
  • 発表してる人にUstのチャット(質問)を見てもらえる仕組みはないかしらん。
    そしたら質問とか面白いよね。
  • 雑音がやっぱりかなり大きく入ってる。きれいな音で配信するにはどうしたらいいのかしら?