为控制器编写集成测试可能很有用。 如果控制器的依赖关系由Ninject管理,则不清楚如何实例化控制器。
请注意,它不是单元测试 - 我想测试一个包含所有依赖项的完整控制器。 我正在使用MVC 4,NInject 3和MbUnit。
答案 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实例化控制器,并且所有依赖项都将到位。