Могу ли я изменить тело страницы Capybara до того, как браузер его получит? - PullRequest
0 голосов
/ 24 марта 2019

У меня есть приложение Rails с Capybara для спецификации функций. У меня есть код, который приводит к URL-адресу, как это /Users/brandoncc/dev/app/public/uploads/.... Это особое обстоятельство в тестовой среде. Мне нужно изменить тело ответа, прежде чем браузер получит его. Это возможно? Мне нужно отрезать /Users/brandoncc/dev/app/public от URL изображения.

1 Ответ

1 голос
/ 24 марта 2019

У вас есть несколько вариантов здесь - топ-3, вероятно,

  1. Программируемый прокси-сервер типа Puffing-Billy
  2. Напишите класс промежуточного программного обеспечения для стойки и укажите, чтобы использовать его в вашем config / environment / test.rb через config.middleware.use=
  3. Напишите приложение для рэка, чтобы обернуть тестируемое приложение, которое изменяет ответы перед их возвратом, и назначьте его Capybara.app

Любой из этих подходов должен делать то, что вы хотите, но вам может быть лучше просто выяснить, почему код помещает полные пути в URL-адреса и исправить это, чтобы использовать что-то вроде помощников ресурсов rails.

...