К сожалению, я не думаю, что это возможно без изменения Rack :: Test. Когда вы делаете запрос во время тестирования приложения, Rack :: Test выполняет следующие действия:
- добавляет запрос в список последних запросов
- создает новый экземпляр вашего приложения и вызывает его
call
метод
- добавляет ответ вашего приложения в список последних ответов
Легко получить доступ к last_request
и last_response
, но, к сожалению, информация о состоянии вашего приложения не сохраняется во время его работы.
Если вы заинтересованы во взломе патча Rack :: Test для этого, начните с просмотра rack-test/lib/rack/mock_session.rb
в строке 30. Именно здесь Rack :: Test запускает ваше приложение и получает стандартные значения возврата приложения Rack. (статус, заголовки, тело). Я предполагаю, что вам также придется изменить свое приложение, чтобы собрать и сделать доступными все его переменные экземпляра.
В любом случае лучше всего проверить результаты, а не детали реализации. Если вы хотите убедиться, что ссылка для редактирования не видна, проверьте наличие ссылки для редактирования по идентификатору DOM:
assert last_response.body.match(/<a href="..." id="...">/)