Hatena::ブログ(Diary)

A Day in Serenity @ kenjis

2012-02-09

CodeIgniter 本体のユニットテスト

久しぶりに feature/unit-tests ブランチ で進められている CodeIgniter のユニットテストの状況を調べてみました。

残念ながら、ほとんど進んでいませんが、現状を確認してみます。

準備

PHPUnit 3.6 ではテストを実行できませんでした。

PHPUnit 3.5 と vfsStream をインストールします。

$ sudo pear channel-discover pear.phpunit.de
$ sudo pear install phpunit/PHP_TokenStream-1.0.1
$ sudo pear install phpunit/PHPUnit_Selenium-1.0.1
$ sudo pear install phpunit/PHPUnit_MockObject-1.0.3
$ sudo pear install phpunit/PHP_Timer-1.0.0
$ sudo pear install phpunit/File_Iterator-1.2.3
$ sudo pear install phpunit/PHP_CodeCoverage-1.0.2
$ sudo pear install phpunit/DbUnit-1.0.0
$ sudo pear install phpunit/PHPUnit-3.5.15
$ sudo pear channel-discover pear.php-tools.net
$ sudo pear install pat/vfsStream-alpha

もし、PHPUnit 3.6 がインストール済みの場合は、

$ sudo pear list -c phpunit

でインストール済みのパッケージを確認し、

$ sudo pear uninstall phpunit/パッケージ名 ...

ですべて削除してから、PHPUnit 3.5 をインストールしてください。

feature/unit-test ブランチのダウンロード

$ git clone -b feature/unit-tests git://github.com/EllisLab/CodeIgniter.git

テストの実行

$ cd CodeIgniter/tests
$ phpunit

カバレッジはこんな感じでした。

f:id:Kenji_s:20120207164231p:image

ちなみに、system フォルダ以下の行数は、こんな感じです。

Lines of Code (LOC):                              51444
  Cyclomatic Complexity / Lines of Code:           0.15
Comment Lines of Code (CLOC):                     24333
Non-Comment Lines of Code (NCLOC):                27111