PHPプログラムに関する各種メモ書き

PEAR run-tests を使ったPHPのユニットテスト

phpでユニットテストを行うときはPHPUnitがお勧めですが, PEARの run-tests( .phpt ) というのもあるので紹介しておきます。

● インストール

PEARがインストールされていれば使えます。

● テストするコード

例 : m.php

<?php
function implode_recursive($glue, array $pieces) {
    $result = array();
    array_walk_recursive($pieces, function($value) use(&$result) {
        $result[] = $value;
    });
    return implode($glue, $result);
}

● テストファイル( .phpt )の作成

テストファイルをディレクトリ tests/ 以下に作成します。ファイル名は 001.phpt とします。
例 : 001.php

--TEST--
test 001
--FILE--
<?php
require __DIR__ . '/../m.php';

$test = array(
    "hoge",
    "fuga",
    array(
        array(
            1,
            2,
        ),
        "foo",
        "bar",
        array(),
        "qux",
    ),
    "piyo",
);

var_dump(implode_recursive(",", array()));
var_dump(implode_recursive(",", $test));
var_dump(implode_recursive("",  $test));
?>
--EXPECT--
string(0) ""
string(30) "hoge,fuga,1,2,foo,bar,qux,piyo"
string(23) "hogefuga12foobarquxpiyo"

● テストの実行

コマンドラインから以下のように実行します

cd tests/
pear run-tests

これだけで フォルダ内の全ての .phpt ファイルを読み込んでテストを実行します。

● テスト結果を見やすくする

以下のようにするとテストが失敗した時に色がついて表示されるのでオススメです

pear run-tests | grep --color=auto -i -e 'fail' -e'$'

● エイリアスを作成する

以下のようにエイリアスを作成しておくと phpt と入力するだけでテストが走るので便利です

vi ~/.bash_profile
alias phpt="pear run-tests | grep --color=auto -i -e 'fail' -e'$'"

引用 : http://qiita.com/arai-ta/items/450dd84964ad628e287b

関連エントリー

No.1123
04/11 17:05

edit

PEAR
エラー対処