水豚寻找的“__identify__”路线是什么?

use*_*003 6 rspec ruby-on-rails capybara

当我禁用 Webmock 或 VCR 时,我在 Rspec 测试中收到以下错误。显然它正在寻找一条/__identify__路线。

          WebMock::NetConnectNotAllowedError:
        Real HTTP connections are disabled. Unregistered request: GET http://127.0.0.1:51768/__identify__ with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'}
Run Code Online (Sandbox Code Playgroud)

一些谷歌搜索表明这是水豚特有的东西,但我无法找出它到底想做什么以及为什么可能需要对其进行存根。

谢谢!

Tho*_*ole 5

您不应该存根它 - 您应该允许它(就像对您的应用程序的所有请求一样)。它是通过中间件 Capybara 在启动运行应用程序的“服务器”线程时安装的添加的路由。Capybara 需要它来知道应用程序已启动并准备就绪。

  • 为了节省下一个人几分钟的时间:`WebMock.disable_net_connect!(allow_localhost: true)`将允许这些本地请求,同时仍然禁用远程请求。 (4认同)