为控制器编写集成测试可能很有用。如果控制器的依赖项由 Ninject 管理,则不清楚如何实例化控制器。
请注意,这不是单元测试——我想测试一个包含所有依赖项的完整控制器。我正在使用 MVC 4、NInject 3 和 MbUnit。
为控制器编写集成测试可能很有用。如果控制器的依赖项由 Ninject 管理,则不清楚如何实例化控制器。
请注意,这不是单元测试——我想测试一个包含所有依赖项的完整控制器。我正在使用 MVC 4、NInject 3 和 MbUnit。
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
}
如果控制器依赖项由 Ninjet 管理,您应该在 Ninject Kernel 的帮助下实例化您的控制器,所有依赖项都将到位。