У меня есть довольно распространенный сценарий на моих руках, что включает в себя два метода действия одного и того же имени - один для обработки запросов POST, а другой для обработки запросов GET:Должен ли я тестировать атрибуты в проекте ASP MVC?
public ActionResult Add()
{
return View();
}
[HttpPost]
public ActionResult Add(Question question)
{
repository.Add(question);
return RedirectToAction("Index");
}
Как вы можете видеть, методы действия дифференцируются с помощью атрибута. Если я удалю атрибут HttpPost
, время выполнения столкнется с желтым экраном смерти.
Мой вопрос: разумно ли написать единичный тест, который использует отражение, чтобы убедиться, что этот конкретный метод украшен атрибутом HttpPost
? У меня есть склонность делать это, потому что если кто-то случайно удалит атрибут, произойдет сбой сервера.
Вы не повредите ничего путем добавления модульного теста, но если вы думаете, что кто-то может удалить атрибут «HttpPost», вам, вероятно, следует поговорить с ними. – Jonesopolis
@ Jonesy Ну, я программирую соло, но ваш комментарий резонирует со мной. –
Если вы добавите тест на все возможные вещи, которые могут пойти не так, вы будете тратить много времени на написание тестов ... Если вы в порядке с этим, то непременно ... Однако вам обычно приходится решить, где наилучшее значение теста для вас. –