を使用してコントローラーをテストすることに関する多くのドキュメントを読みまし$this->call($destination, $parameters, 'GET');
たが、これは設定されているルートにも依存しているようで、$destination
使用する権利を知っています。
通常はこれで問題ありませんが、ルートからコントローラーにアクセスすることは単体テストには適していないようです。ルートではなく、コントローラーを単体テストしたい。ルートを扱わずにコントローラを単体テストする標準的な方法はありますか?
コントローラーを手動でインスタンス化し、メソッドを呼び出すだけで十分ですか? 例えば
$controller = new MyController;
$response = $controller->someMethod($param);
$this->assertSomething($response);
おそらく、コントローラーは単体テストを行うべきではなく (受け入れテストのみを行うべきです)、私の要求はコントローラーが重すぎるという兆候です。