【发布时间】:2018-01-24 23:10:34
【问题描述】:
我正在尝试为 MVC 应用程序编写单元测试。我试图测试我的控制器是否返回正确的视图名称。
这是我正在测试的控制器动作:
public IActionResult Index(string reportcode)
{
if(string.IsNullOrEmpty(reportcode))
ReportCode = reportcode;
ViewBag.GridSource = GetReportData(reportcode);
return View("Index");
}
这是我的单元测试:
[Test]
public void Index_ReturnCorrectView()
{
var controller = new HomeController();
var result = controller.Index("COMD") as ViewResult;
Assert.AreEqual("Index", result.ViewName);
}
我从单元测试中得到的错误应该是“索引”,但为空。 我做了很多搜索,大多数答案都说 ViewName 属性应该在返回视图时声明后设置。我也试过了,但还是不行。
谢谢
【问题讨论】:
-
无关:你可能真的想要
if (!string.IsNullOrEmpty(reportcode)) -
result本身不为空吗? -
@Andrei 没有结果是有效的 ViewResult
标签: asp.net-mvc unit-testing viewresult