【发布时间】:2016-01-13 19:55:39
【问题描述】:
我正在尝试将单元测试与 XUnit 一起用于 ASP.NET v5 MVC v6 应用程序。我可以对有效的方法进行简单的单元测试。我想测试控制器。现在,我有一个带有返回 Home/Index 视图的 Index 操作的 HomeController。我想测试 Index 视图是否是返回的视图。
这是我当前的测试文件:
using Microsoft.AspNet.Mvc;
using Xunit;
using XUnitWithMvcSample.Controllers;
namespace XUnitWithMvcSample.Tests
{
public class Tests
{
private HomeController _homeController;
public Tests()
{
_homeController = new HomeController();
}
[Fact]
public void IndexActionReturnsIndexView()
{
var result = _homeController.Index() as ViewResult;
System.Console.WriteLine(result);
Assert.Equal("Index", result.ViewName);
}
}
}
这是控制器/HomeController.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;
namespace XUnitWithMvcSample.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
当我运行测试时,它失败了,因为result.ViewName 为空。看起来result 只是一个空的ViewResult,与_homeController 无关。我需要做些什么才能让测试在 HomeController 中找到 Index 视图?
【问题讨论】:
标签: asp.net unit-testing asp.net-core-mvc xunit