所有這些觀點甚至沒有一個標題。所以我不能做我如何編寫單元測試來測試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