PHPUnitで名前空間付きのモッククラスを作る

標準

TL;DR: class_alias を使う。


PHPUnit 5.7

\Awesome\GeartInterface というインターフェースから \Awesome\MockClass という名前でモッククラスを作成したい。

setMockClassName\Awesome\MockClassを指定すると名前空間付のクラスは作成できないと怒られる。

setMockClassNameには名前空間を指定できないので class_alias で指定してやる。

これ、CakePHP3のObjectRegistryを継承したクラスのテストで、任意のクラスがロードできることを保証するテストを書いたときに使ったです。

コメントを残す

Page optimized by WP Minify WordPress Plugin