我在ASP.NET MVC 3项目中使用Ninject,现在有一个复杂的对象图。
我想要一些单元测试来确保我所需的所有类型都是可绑定的 - 目前我找到的唯一方法是通过ASPX错误页面。
我无法找到有关如何执行此操作的文档。
是否像写
一样简单_kernel.Get<IService>();
让异常未通过测试?或者是否有一种更聪明的方法来使用用于DI的MVC挂钩?
答案 0 :(得分:3)
除了普通的单元测试外,我们还有集成测试,可测试除UI和DB之外的所有内容,包括Ninject绑定。因此,我们在生产中设置所有内容,并将这些部件重新绑定到模拟中。这也将测试Ninject绑定。
对于MVC,这意味着您必须创建内核,加载与生产中相同的模块并重新绑定数据库访问。然后创建控制器的实例并调用要测试的操作,并检查它们是否按预期运行。