Я работаю над написанием нетривиального «модульного теста» (возможно, лучше называть «тест пользовательского интерфейса»?). В этом случае, я думаю, мне нужен тест, который (рефлексивно?) Находит все подходящие обработчики действий, а затем проверяет, что наш SiteMap имеет узел для этих обработчиков действий. Что мне нужно, так это определить, когда разработчик добавляет страницу в нашу систему и забывает добавить ее в SiteMap (это, кажется, распространенная проблема, и я хотел бы убрать ее, что тест легко сможет делай для нас). В конечном счете, мы хотим убедиться, что любая страница, на которую может зайти пользователь, будет иметь домашнюю страницу в нашей SiteMap, чтобы она создавала соответствующие хлебные крошки, чтобы сообщить пользователю, где они находятся в нашей системе (эта часть хлебных крошек уже отлично работает для нас, пока страница находится в SiteMap). Я бы скорее попытался сделать это с помощью теста, чем пытаться навязать нам обновление политики / процедуры, что является еще одной вещью, с которой нам приходится иметь дело.
Какие-нибудь советы по какому-либо существующему коду для начала в этом начинании? А если нет, то есть мысли о том, как лучше всего это сделать?
Одна из возможностей, которую я рассматриваю, заключается в рефлективной идентификации любого метода, который украшен атрибутом AcceptVerbs
, который не имеет возвращаемого типа JsonResult
(и, возможно, парой других, которые явно не были бы "веб-страницами"). "такой как FileResult
). И, возможно, ограничьте мой поиск, сначала определив классы, которые наследуют System.Web.Mvc.Controller
.
Хотелось бы услышать лучший способ сделать это, хотя. И был бы рад еще больше, если бы большая часть этого уже была написана и распространена, чтобы сэкономить мне время. : -)