1
可以說我有一個簡單的ASP.NET MVC控制器我想測試。我想測試一個控制器動作(在這種情況下,Foo)只是返回到另一個動作(在這種情況下,酒吧)的鏈接。如何單元測試這個簡單的ASP.NET MVC控制器
你會如何測試TestController.Foo? (無論是第一個還是第二個鏈接)
我的實現具有相同的鏈接兩次。一個通過url拋出ViewData []。這對我來說似乎更具可測性,因爲我可以檢查從Foo()返回的ViewData集合。即使這樣,但我不知道如何驗證url本身,而不依賴路由。
控制器:
public class TestController : Controller
{
public ActionResult Foo()
{
ViewData["Link2"] = Url.Action("Bar");
return View("Foo");
}
public ActionResult Bar()
{
return View("Bar");
}
}
的 「foo」 的視圖:
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" MasterPageFile="~/Views/Shared/Site.Master"%>
<asp:Content ContentPlaceHolderID="MainContent" runat="server">
<%= Html.ActionLink("link 1", "Bar") %>
<a href="<%= ViewData["Link2"]%>">link 2</a>
</asp:Content>
感謝。我會澄清我的問題,因爲Foo是我感興趣的。關聯問題中的答案非常重要,我很驚訝它需要做很多測試,並希望有一個更快的方法。 – 2010-04-29 17:04:52