コントローラーの統合テストを作成すると便利な場合があります。コントローラーの依存関係が Ninject によって管理されている場合、コントローラーをインスタンス化する方法が明確ではありません。
これは単体テストではないことに注意してください。すべての依存関係を含む完全なコントローラーをテストしたいと考えています。MVC 4、NInject 3、および MbUnit を使用しています。
コントローラーの統合テストを作成すると便利な場合があります。コントローラーの依存関係が Ninject によって管理されている場合、コントローラーをインスタンス化する方法が明確ではありません。
これは単体テストではないことに注意してください。すべての依存関係を含む完全なコントローラーをテストしたいと考えています。MVC 4、NInject 3、および MbUnit を使用しています。
SOで答えを見つけようとしましたが、できなかったので、解決策を共有しています。
public class SearchControllerTest
{
private SearchController searchController;
[SetUp]
public void Setup()
{
IKernel kernel = new StandardKernel();
NinjectWebCommon.RegisterServices(kernel);
searchController = kernel.Get<SearchController>();
}
//Tests
}
コントローラーの依存関係が Ninjet によって管理されている場合は、Ninject Kernel を使用してコントローラーをインスタンス化する必要があります。そうすれば、すべての依存関係が適切に配置されます。