今さら PHP の DocTest を実践投入してみました。今まで使ってなかったのが残念なくらい、使い易いです。
PHP の DocTest には、いろいろありますが、やはり、Pear のやつを使ってみようと思い、挑戦しました。
以下は、Pear の Testing_DocTest についての情報です。
Pear コマンドでインストールは簡単です。
pear install -f Testing_DocTest
※XAMPPを利用している方は、PEARの設定を正しく行っていないとインストールに失敗する可能性があります。(php config-set test_dir を正しくセットしてください。)
そして、DocTest を実行するときはコマンドラインから以下のようにします。以下は、test.php をテストする方法です。
phpdt test.php
DocTestの書き方ですが、一番簡単な書き方は以下のようになります。つまり、/** .. */ のコメントの中にある、<code>から</code>までがPHPのテストコードと期待される結果になります。
<?php /** * <code> * // ここにPHPのテストコード * echo testfunc("hoge"); * // expects: * // hoge * </code> */ function testfunc($arg) { return $arg; }
ちなみに、実行結果は以下のように表示されます。
$ phpdt test.php [PASS] function testfunc in file "/home/test/test.php" Total time : 4.5518 sec. Passed tests : 1 Skipped tests : 0 Failed tests : 0
上のテストコードでは、hoge と標準出力に表示するだけのテストコードです。そして期待される結果は、hoge なので、「expects:」の次の行に hoge と書くだけなのです。
Pearの上記のサイトには、他にもいくつかのサンプルが書かれています。
Pear の Testing_DocTest を使う上で覚えておくべきことは、次の3点だけ
他にも、「//doctest:テストの名前」とかフラグとか書けるみたい。