[PHP-users 30204] PHPUnitでfunctionやClass以外のテスト
Higuchi Atsushi
rmitcs @ gmail.com
2006年 9月 1日 (金) 09:47:15 JST
PHPUnitを検討しているところなのですが、今まで私自身TDDを使ったことが無いので、もしかしたらテスト自体、間違った解釈をしているかもしれません。
ネットで調べながらやっているのですが、PHPUnitではfunctionやClassに対してテストする方法はいろいろ書かれていますが、それらを呼び出す側のプログラムに対してのテストは行えないのでしょうか?
あまり良くない例かもしれませんが、例えば以下のようなプログラムがあったとして、
$x = sum(2, 3);
$y = subtract(6, 5);
$z = $x * $y * 10;
print $z;
function sum($a, $b){
return $a+$b;
}
funciton subtract($a, $b){
return $a-$b;
}
この中の2つのfunctionはテストができますが、それらを呼び出している箇所はテストはできないのでしょうか?もちろん、このような簡単なものはテストする必要もありませんが、もっと複雑になった場合、functionにもClassにも当てはまらない部分のテストも必要になってくるのではないかと思います。
私が考えた解決策としては
1.できる限りの部分をfunctionやClassに入れるように作る
2.最低限functionとClassが正常に動作することが自動化したテストで分かれば良いと考えて、後は人力で行う
の2つです。PHPUnitのコンセプト自体を理解していないのかもしれませんが、呼び出す側のプログラムがかなり大きい場合もあるので、その部分のテストを自動化できるのかを知りたくて質問しました。ご存知の方がいらっしゃいましたらよろしくお願いいたします。
Atsushi Higuchi
PHP-users メーリングリストの案内