3

コントローラーの統合テストを作成すると便利な場合があります。コントローラーの依存関係が Ninject によって管理されている場合、コントローラーをインスタンス化する方法が明確ではありません。

これは単体テストではないことに注意してください。すべての依存関係を含む完全なコントローラーをテストしたいと考えています。MVC 4、NInject 3、および MbUnit を使用しています。

4

2 に答える 2

7

SOで答えを見つけようとしましたが、できなかったので、解決策を共有しています。

public class SearchControllerTest 
{
    private SearchController searchController;

    [SetUp]
    public void Setup()
    {
        IKernel kernel = new StandardKernel();
        NinjectWebCommon.RegisterServices(kernel); 

        searchController = kernel.Get<SearchController>();         
    }

    //Tests
}
于 2013-10-01T13:20:30.853 に答える
2

コントローラーの依存関係が Ninjet によって管理されている場合は、Ninject Kernel を使用してコントローラーをインスタンス化する必要があります。そうすれば、すべての依存関係が適切に配置されます。

于 2013-10-01T13:31:55.723 に答える