Поэтому я создаю собственный ActionFilter, основанный в основном на этом проекте http://www.codeproject.com/KB/aspnet/aspnet_mvc_restapi.aspx.
Мне нужен настраиваемый фильтр действий, который использует заголовки http accept для возврата JSON или Xml. Типичное действие контроллера будет выглядеть так:
[AcceptVerbs(HttpVerbs.Get)]
[AcceptTypesAttribute(HttpContentTypes.Json, HttpContentTypes.Xml)]
public ActionResult Index()
{
var articles = Service.GetRecentArticles();
return View(articles);
}
Пользовательский фильтр переопределяет OnActionExecuted и сериализует объект (в этом примере статей) как JSON или Xml.
У меня вопрос: как это проверить?
- Какие тесты писать? Я новичок в TDD и не уверен на 100%, что мне следует тестировать, а что нет. Я придумал
AcceptsTypeFilterJson_RequestHeaderAcceptsJson_ReturnsJson()
,AcceptsTypeFilterXml_RequestHeaderAcceptsXml_ReturnsXml()
иAcceptsTypeFilter_AcceptsHeaderMismatch_ReturnsError406()
. - Как протестировать ActionFilter в MVC, который проверяет заголовки Http Accept?
Спасибо.