Я новичок в ASP.NET и реорганизую некоторые функциональные возможности моего ASP.NET-приложения с MVC-структурой в области.Это уже привело к тому, что методы контроллера не могут больше находить свои представления, что приводит к следующей странице:

Чтобы проверить, все ли контроллеры могутчтобы найти их представления, я хотел бы написать несколько автоматических модульных тестов для этого.
Я придумал следующее:
[TestMethod]
public void AboutTest()
{
var controller = new HomeController();
var result = controller.About() as ViewResult;
Assert.IsNotNull(result);
}
, который проверяет метод About в следующем коде:
public class HomeController : Controller
{
public ActionResult About()
{
return View();
}
public ActionResult Contact()
{
return View("~/Views/SomeFolder/Contact.cshtml");
}
}
Но даже когда метод HomeControllers About не может найти представление, это утверждение успешно выполняется, поэтому это не работает для меня.
Я нашел решениеонлайн , чтобы использовать использование ViewEngine.FindView () здесь.Я не думаю, что смогу использовать это, так как в некоторых контроллерах на ссылки ссылается жестко закодированная строка (см. Метод контакта в примере контроллера выше) вместо простого возврата представления по умолчанию (симметрично названного как его метод).ViewEngine.FindView (controller.ControllerContext, "about", "about");затем произойдет сбой, но метод контроллера не будет.
Другое решение утверждает использование Assert.IsEqual () и проверяет, равен ли result.ViewName жестко закодированной строке (например,: "Около").Так как я не задаю или не знаю название представлений, которые я ожидаю получить, это также не будет решением.
(Как) я смогу протестировать свое приложение для этого?