Характеристики функций для исключительных сценариев

Я читал, что спецификации контроллера выходят из-под контроля и что текущая рекомендация заключается в использовании спецификаций функций и запросов. Я обнаружил, что спецификации функций действительно хорошо работали для успешного тестирования пути, но у меня возникли некоторые трудности с исключительными случаями, которые я хочу протестировать. Например, у меня есть индекс ресурсов, принадлежащих пользователю. Этот список содержит кнопки для уничтожения каждого ресурса. Пользователи видят только свои собственные ресурсы. Я хочу добавить тест, что попытка уничтожить принадлежащий кому-то другому не удалась. Проблема в том, что в список не будут включены чьи-либо предметы, поэтому нет подходящей ссылки, чтобы сказать капибаре щелкнуть. В тесте контроллера я мог напрямую выдать DELETE на пути к ресурсу, но, насколько я могу судить, это не вариант в спецификации возможностей. Я что-то пропустил? Нужно ли мне также реализовывать спецификации запросов, если я хочу, чтобы покрытие выходило за пределы "счастливого пути"? Я надеялся зарезервировать спецификации запросов для покрытия моих конечных точек API.

1 ответ

Решение

С моей точки зрения, спецификации разрешений НЕ должны быть реализованы как спецификации функций. Ваши мысли в полной мере имеют смысл, и единственное, что вы действительно можете проверить - это то, что вы не видите никаких объектов, созданных другими пользователями. Ваши логические трудности, как +1 балл, такие сценарии должны быть проверены с помощью других типов спецификаций. Кроме того, спецификации функций стоят дорого, и я бы никогда не сделал такой "глубокий" тест функций.

Другие вопросы по тегам