Допустим, у меня есть простой контроллер для ASP.NET MVC, который я хочу протестировать. Я хочу проверить, что действие контроллера (в этом случае Foo) просто возвращает ссылку на другое действие (в этом случае Bar).Как протестировать этот простой ASP.NET MVC-контроллер
Как бы вы протестировали TestController.Foo? (либо первая, либо вторая ссылка)
Моя реализация имеет одинаковую ссылку дважды. Один пропускает URL-адрес ViewData []. Это кажется более проверяемым для меня, поскольку я могу проверить коллекцию ViewData, возвращенную из Foo(). Даже в этом случае я не знаю, как проверить подлинность самого 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 был тем, что меня интересовало. Ответ в связанном вопросе довольно тяжелый, я был удивлен, что ему нужно столько всего, чтобы проверить его, и надеялся, что есть более быстрый подход. –