Ninject / MVC4 - 控制器的集成测试

时间:2013-10-01 13:20:31

标签: asp.net-mvc ninject integration-testing

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

请注意,它不是单元测试 - 我想测试一个包含所有依赖项的完整控制器。 我正在使用MVC 4,NInject 3和MbUnit。

2 个答案:

答案 0 :(得分:7)

我试图在SO上找到答案,但我不能这样,我正在分享我的解决方案。

public class SearchControllerTest 
{
    private SearchController searchController;

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

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

    //Tests
}

答案 1 :(得分:2)

如果控制器依赖项由Ninjet管理,您应该借助Ninject Kernel实例化控制器,并且所有依赖项都将到位。