我可以在浏览器接收之前修改Capybara页面正文吗?

时间:2019-03-24 06:30:29

标签: ruby-on-rails capybara

我有一个带有Capybara的Rails应用程序,用于功能说明。我有一些代码可以生成类似/Users/brandoncc/dev/app/public/uploads/...的网址。这是测试环境中的一种特殊情况。我需要在浏览器获取之前修改响应主体。那可能吗?我需要从图片网址中删除/Users/brandoncc/dev/app/public

1 个答案:

答案 0 :(得分:1)

您在这里有很多选择-前3个可能是

  1. 像喘气的可编程代理
  2. 编写机架中间件类并通过config.middleware.use=指定在您的config / environments / test.rb中使用它
  3. 编写一个机架应用程序以包装被测应用程序,该应用程序会在返回响应之前修改响应并将其分配给Capybara.app

这些方法中的任何一种都可以满足您的要求,但是您最好弄清楚为什么代码会将完整路径放在URL中并修复它以使用Rails资产帮助器之类的东西。