重複の可能性:
PhpUnit プライベート メソッドのテスト
単体テストでは、プライベート メソッドを呼び出して、フィクスチャを特定の状態に設定する必要があります。一方で、このメソッドは公開したくありません。どうすればいいですか?
重複の可能性:
PhpUnit プライベート メソッドのテスト
単体テストでは、プライベート メソッドを呼び出して、フィクスチャを特定の状態に設定する必要があります。一方で、このメソッドは公開したくありません。どうすればいいですか?
これらの関数を保護し、テスト目的で派生クラスを作成してみませんか? そのクラスには、さまざまな変数などを初期化できるテスト用のパブリック関数を含めることができます。
プライベート メソッドの単体テストは一般的にはお勧めできませんが、どうしてもやりたい場合は、リフレクションを使用することをお勧めします。これはそれを行う必要があります:
$reflection_class = new ReflectionClass($object_under_test);
$method = $reflection_class->getMethod('nameOfMethod');
$method->setAccessible(true);
$method->invoke($object_under_test, $param);
HTH