QA@IT

PHPUnitの*Testクラスの名前空間

3856 PV

昨日からPHPUnitを使い始めました。
PHPUnitの*Testクラスの名前空間は宣言しないものなのでしょうか。

PHPUnit マニュアル – 第4章 PHPUnit 用のテストの書き方
http://phpunit.de/manual/3.7/ja/writing-tests-for-phpunit.html

回答

PHPUnitのテストは名前空間を設定してもしなくても、動作するようになっています。

個人的には、コンポーネントごとにテストも細かく分けて書いているので、名前空間は設定しておく派です。
テストのためにFooなどの適当な名前のモッククラスを作ることがあるのですが、そのようなクラスの名前が重ならないようにしたいからです。(名前空間の本来の意味での使い方ですね)

モック用のクラス名が重なっていなければ、コンポーネントごとにテストすることもできるし、全体を一気通貫でテストしてコードの全体像を俯瞰することもできます。

この余地が欲しくて、分けているのですが、実際はなかなか整備が追いつかないですね。。

編集 履歴 (0)
  • ご回答ありがとうございました。参考にさせていただきます。 -

プロダクション側のコードに合わせればいいと思います。

プロダクションコードで名前空間を使っているならテストコードでも名前空間を使い、
プロダクションコードで名前空間を使わずに PEAR スタイルでクラス名を付けているのであれば、テストコードもそれに準じれば良いと思います。

編集 履歴 (0)
  • ありがとうございます。そのようにします。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。