3

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

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

4

2 回答 2

7

I tried to find an answer on SO but I could not so I am sharing my solution.

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 回答