我正在嘗試將XUnit的單元測試用於ASP.NET v5 MVC v6應用程序。我可以在工作方法上進行簡單的單元測試。我想測試控制器。現在,我有一個帶有索引操作的HomeController,它返回Home/Index視圖。我想測試索引視圖是返回的。ASP.NET MVC:使用XUnit測試控制器
這是我目前的測試文件:
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中找到索引視圖?