【发布时间】:2015-05-08 12:33:00
【问题描述】:
我已经在一个 mvc 项目中实现了 ninject,现在它按预期工作,我想进行单元测试,但似乎无法让它工作:
控制器:
private IDependencyResolver _resolver;
public HomeController(IDependencyResolver resolver)
{
_resolver = resolver;
}
public ActionResult Index()
{
var model = _resolver.GetService<ISignUpViewModel>();
return PartialView("Login", model);
}
单元测试
private IDependencyResolver _resolverMock;
[TestMethod]
public void SignUpTest()
{
var ctrl = new HomeController(_resolverMock);
var signUpMock = new Mock<ISignUpViewModel>();
ctrl.Index();
ctrl.ViewData.Model = signUpMock;
//Assert.AreEqual("", "");
}
解析器始终为空。
我看过 Ninject.MockingKernel.Moq 我应该在里面设置解析器吗?
知道我哪里出错了吗?
谢谢
【问题讨论】:
-
你有没有初始化过
_resolverMock? -
它为null的原因是因为您从未将其设置为非null。
标签: asp.net-mvc unit-testing moq