所有这些观点甚至没有一个标题。所以我不能做我如何编写单元测试来测试ASP.NET MVC控制器与下面的代码片段
Assert.AreEqual(“Error”,Viewbag.Title);
我还能如何测试一个差错控制,以保证ATLEAST85%代码覆盖
public class ErrorController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult NotFound()
{
return View();
}
public ActionResult BadRequest()
{
return View();
}
public ActionResult ServerError()
{
return View();
}
}
我能想出是
public class ErrorControllerTests : BaseTestController
{
ErrorController ec = new ErrorController();
[TestMethod()]
public void IndexTest()
{
var actionResult = ec.Index() as ViewResult;
Assert.AreSame(ec.ViewData, actionResult.ViewData);
Assert.AreSame(ec.TempData, actionResult.TempData);
Assert.AreEqual(actionResult.ViewName,"");
}
[TestMethod()]
public void NotFoundTest()
{
var NotFoundTestResult = ec.NotFound() as ViewResult;
Assert.AreEqual(NotFoundTestResult.ViewName,"");
}
[TestMethod()]
public void BadRequestTest()
{
var badRequestTestResult = ec.BadRequest() as ViewResult;
Assert.AreEqual(badRequestTestResult.ViewName,"");
}
[TestMethod()]
public void ServerErrorTest()
{
var serverErrorTestResult = ec.ServerError() as ViewResult;
Assert.AreEqual(serverErrorTestResult.ViewName, "");
}
}
您可以对控制器进行测试并检查返回的视图对象。或者你可以使用Selenium来自动化UI测试。 –
你确定你需要100%的代码覆盖率吗?看起来没有必要为这些方法编写单元测试 – Disappointed
为什么你要测试框架而不是你的代码? MS将在发布之前对其进行测试。 – Nkosi