NorfDocTestをとりあえず使ってみる。

 インストールが完了したので(例のあれ(仮題)・NorfDocTestを始める。)とりあえず使ってみます。とりあえずなので、ただ単に true を返すメソッドを拵えてそれをテストしてみます。

 適当なディレクトリに適当な名前で、ここでは testTest.php として以下のような内容のファイルを作成します。

<?php
/**
 * #test
 * >>> trueTestFunc();
 * true
 *
 * #test
 * >>> trueTestFunc();
 * false
 */
function trueTestFunc()
{
  return true;
}

 trueTestFunc() はそのまま true を返す関数で、その前にDocTestとして trueTestFunc() を呼び出し true かどうか比較する処理と、あえて通らないように false と比較する処理を仕込んでいます。まぁ、こんなものと思ってください。

 次に同じディレクトリに適当な名前で、ここでは norfdoctest.php として以下のような内容のファイルを作成します。

<?php
require_once('NorfDocTest/NorfDocTest.php');

$group = NorfDocTestModuleGroup::defaultGroup();
$group->addModuleWithFile('testTest.php');
$request = new NorfDocTestRequest();
$group->executeRequest($request);

 4行目でテストを実行するファイル名を指定していたりしますが、これもそのまま呪文だと思ってもらうしかないですね、今のところ。

 じゃー、テストを実行します。ターミナルなどからコマンドラインで以下のように実行します。

# php norfdoctest.php
Testing

.F

1) Failure 1
    trueTestFunc():
    <false> expected but was <true>.

2 tests, 1 failures, 0 errors, 0 skips, 0 todos
Total time: 0.000 seconds

 テストを二つ実行して、通らないヤツが一つで、エラーのヤツとスキップしたヤツ、ToDoなヤツはありませんな表示です。ちゃんとテストされている、素晴らしい!