Asp.net mvc Ninject/MVC4-控制器的集成测试

Asp.net mvc Ninject/MVC4-控制器的集成测试,asp.net-mvc,ninject,integration-testing,Asp.net Mvc,Ninject,Integration Testing,为控制器编写集成测试可能很有用。 如果控制器的依赖项由Ninject管理,则不清楚如何实例化控制器 请注意,这不是一个单元测试-我想测试一个具有所有依赖项的完整控制器。 我正在使用MVC4、NInject 3和MbUnit。我试图在SO上找到答案,但无法找到,因此我正在共享我的解决方案 public class SearchControllerTest { private SearchController searchController; [SetUp] publi

为控制器编写集成测试可能很有用。 如果控制器的依赖项由Ninject管理,则不清楚如何实例化控制器

请注意,这不是一个单元测试-我想测试一个具有所有依赖项的完整控制器。
我正在使用MVC4、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
}
公共类SearchControllerTest
{
专用搜索控制器搜索控制器;
[设置]
公共作废设置()
{
IKernel kernel=新的标准内核();
注册表服务(内核);
searchController=kernel.Get();
}
//测验
}

如果控制器依赖项由Ninjet管理,您应该在Ninjet内核的帮助下实例化您的控制器,您的所有依赖项都将就位。

实际上我的答案与yours@Andrei不,当问题是“如何使用Ninject实例化控制器?”时,则“使用Ninject实例化控制器”这并不是一个令人满意的答案。