【发布时间】:2020-01-08 21:40:40
【问题描述】:
按照这里的例子:
Mocking a TempData in ASP.NET Core in MSTest,
我写了以下TestMethod:
[Fact]
public void TestBackMethod()
{
var httpContext = new DefaultHttpContext();
var tempData = new TempDataDictionary(httpContext, Mock.Of<ITempDataProvider>());
tempData["id"] = 3008;
var controller = new PhaseController(Configuration)
{
TempData = tempData
};
var result = controller.Back() as ViewResult;
Assert.Contains("Index", result.ViewName);
}
对于这个控制器方法:
public IActionResult Back()
{
int releaseId = (int)TempData["id"];
return RedirectToAction("Index", "Phase", new { id = releaseId });
}
但是,在这一行:
Assert.Contains("Index", result.ViewName);
result 是null。
'对象引用未设置为对象的实例。'
为什么会发生这种情况,我该如何解决?
【问题讨论】:
标签: c# unit-testing asp.net-core tempdata