【发布时间】:2019-04-30 05:34:14
【问题描述】:
我想为我的控制器方法编写测试,但我有 Nullpointexceprion 用于我在我的方法中使用的 TempData["EditMember"] = false;。
我已经阅读了几个类似的主题,但我还没有找到解决这个问题的方法。我尝试使用模拟,但也失败了,因为没有一个示例想要编译。
这是我的控制器方法
public class MemberController : Controller
{
private readonly UnitOfWork _unitOfWork;
public MemberController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork as UnitOfWork;
}
public IActionResult CreateUpdate(string id = null, string table = null)
{
MemberViewModel model = null;
TempData["EditMember"] = false;
if (id != null)
{
TempData["EditMember"] = true;
var member = _unitOfWork.MemberRepositories.FindBySRU(id);
model = AutoMapper.Mapper.Map<Member, MemberViewModel>(member);
}
if (model == null)
model = new MemberViewModel();
TempData["HealthIssues"] = JsonConvert.SerializeObject(model.Player);
TempData["Guardians"] = JsonConvert.SerializeObject(model.Player.Junior);
return View(model);
}
测试方法
[TestMethod]
public void test()
{
//Arrange
var memberController = new MemberController(new UnitOfWork(new DatabaseModel()));
//Act
var viewResult = memberController.CreateUpdate() as ViewResult;
//Assert
}
有没有一种简单的方法可以在 ASP CORE 中使用 TempData 开始这样的测试?
【问题讨论】:
标签: c# asp.net-mvc asp.net-core mstest