28
CodeIgniter PHPUnitテスト 第44回PHP勉強会 NEKOGET/宮川貴子

Php勉強会資料20090629

Embed Size (px)

Citation preview

CodeIgniterでPHPUnitテスト第44回PHP勉強会 NEKOGET/宮川 貴子

自己紹介

職 業 : イ ラ ス ト レ ー タ

  主 な 受 託 内 容

P H P 開 発

H T M L , X H T M L , C S S

お仕事お待ちしておりますm(_ _)m

自己紹介

PHP歴 約4年 CodeIgniter歴 約3ヶ月

・CodeIgniter ・PHPUnit/CIUnit ・課題とまとめ

目次

世界で第4位のPHPの フレームワークです。

はてなキーワードより http://d.hatena.ne.jp/keyword/CodeIgniter

CodeIgniter?

実行速度は4つの フレームワークの中でも 最速を誇っています。

CodeIgniter?

はてなキーワードより http://d.hatena.ne.jp/keyword/CodeIgniter

使ってみた感想 /使おうと思った理由

CodeIgniter?

DBの構造に縛りが あまりない。

CodeIgniter?

複数のDBを 利用することが出来る。

使ってみた感想 /使おうと思った理由

テストCodeIgniterでという意味の。

CodeIgniterのunit_testクラス

unit_testクラスの問題点

問題点

コ ー ド に 直 接 記 述

テストコードと本体のコードが混在します

ど う 書 い た ら 良 い か

資 料 が 少 な い 。

検索してもunit_testクラスを活用している情報が見つからない

問題点

そこで CIUnit!

CIUnitとはPHPUnitの橋渡し

公式サイト http://www.foostack.com/foostack/

CIUnitに

PHPUnit なテストを書く

CodeIgniter 1.6.0~1.7.1 で、使えます。

PHPUnitポケットガイド http://www.m-takagi.org/docs/php/pocket_guide/ PHPUnit3ではじめる ユニットテスト http://gihyo.jp/dev/feature/01/php-test/0001

phpUnit

CIUnit 使用してみた 結果

コードの書き方 が変わりました。

依 存 し な い

M o d e l , H e l p e r , L i b r a l l y 意識できるようになった

メソッドの責務 が小さくなった

コードが 読みやすくなった

今後の課題

・SVNとの連動  →svn hookでコードカバレッジの実行  →コミットした時点のコードの健康状態 テストが通らない=バグ(品質低下)

↓ コミットをしたタイミングで、テストを走らせてメールやバグトラッキングシステムへ自動的に通知できるようにしたいです。

まとめ

C I U n i t オススメ!

おわり