我正在尝试为MVC应用程序编写单元测试。即时通讯试图测试,如果我的控制器返回正确的视图名称。即使设置它后MVC ViewResult.VIewName为空
这是控制器动作IM测试:
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属性。我尝试了相同的,但它不会仍然工作。
谢谢
无关:你可能真的想'如果(string.IsNullOrEmpty(reportcode)!)' – Andrei
是'result'本身不为空? – Andrei
@Andrei没有结果是一个有效的ViewResult – 7uner