在ASP.net MVC单元测试中访问ModelState错误字典中的错误消息
我在动作结果中添加了一个键值对,如下所示:
[HttpPost,授权]
public ActionResult ListFacilities(int countryid)
{
...
ModelState.AddModelError(“错误”,“此国家/地区未报告任何设施!”);
...
}
我在单元测试中有一些像这样繁琐的代码:
public void ShowFailforFacilities()
{
//虚假数据
var facilities = controller.ListFacilities(1)as PartialViewResult;
Assert.AreSame(“这个国家没有报道设施!”,
facilities.ViewData.ModelState [ “错误”] Errors.FirstOrDefault()的ErrorMessage)。;
}
当然,只要我有一个错误,它就可以工作。
我不喜欢
facilities.ViewData.ModelState["Error"].Errors.FirstOrDefault().ErrorMessage
。
我是否有更简单的方法从该字典中获取值?
没有找到相关结果
已邀请:
2 个回复
辩谷变充
其工作方式如下:
如果您需要更好的异常处理或支持多个错误,它很容易扩展... 如果您希望缩短它,可以为ViewData创建一个扩展方法...
和用法:
柑恫祟