独自ストリームラッパーでファイルI/Oを差し替える
ストリームラッパーとは、fopen()やfile_get_contents()から使える独自のプロトコル(me…
ストリームラッパーとは、fopen()やfile_get_contents()から使える独自のプロトコル(me…
Random\Randomizer は PHP 8.2 で追加された乱数のクラスAPIです。エンジンを差し替え…
Closure::bind() は、クロージャの $this と「クラススコープ」を差し替えて複製する機能です…
テスタブルな設計とは、メソッド内で握り込んだ依存や副作用を外に追い出し、必要なものはコンストラクタから注入し、…
スタブとモックとは、どちらもテストで依存を偽物に差し替える道具ですが、スタブは決められた値を返す係、モックは正…
データプロバイダとは、入力と期待値のセットを別メソッドで供給し、一本のテストに次々流し込むPHPUnitの仕組…
PHPUnitの基本とは、TestCase を継承したクラスに test で始まるメソッドを並べ、assert…
静的メソッドとはインスタンス不要で呼べる便利なメソッドですが、外部状態を隠すと差し替えできずテストしづらくなる…
依存性注入(DI)とは、クラスが必要とする部品を内部でnewせず外から受け取る設計です。実装の差し替えやテスト…