我有一个 Controller 方法,该方法返回RedirectToActionResult(成功!)或ViewResult(失败,并显示错误消息)。

如果业务逻辑失败,则将错误消息添加到AddModelError属性。

有什么方法可以在我的MS单元测试中对此进行测试?我也有起订量,如果有帮助的话。 (我不相信Moq对于这种情况是必需的。)..我没有使用Request对象中的任何东西。

最佳答案

是的,知道了。

// Arrange.
// .. whatever ..

// Act.
var viewResult = controller.Create(new Post()) as ViewResult;

// Assert.
Assert.IsNotNull(viewResult);
Assert.IsNotNull(viewResult.ViewData.ModelState["subject"]);
Assert.IsNotNull(viewResult.ViewData.ModelState["subject"].Errors);
Assert.IsTrue(viewResult.ViewData.ModelState["subject"].Errors.Count == 1);

关于asp.net-mvc - 是否可以在ASP.NET MVC中对某些AddModelError结果进行单元测试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/720471/

10-11 05:47