【问题标题】:Double received unexpected message :get with ("url_here")双收到意外消息:get with ("url_here")
【发布时间】:2017-11-15 09:43:55
【问题描述】:

每当我执行 RestClient.get 或 RestClient.post 时,测试都会失败并出现错误:

“双重收到意外消息:get with ("url_here")”

“双重收到意外消息:使用(“url_here”)发布” 分别。

这些测试之前通过了,但现在它们都给出了相同的错误。

这是我的测试的样子:

it 'connectivity test' do
  config.each do|env, values|
     response = RestClient.get values['url']
     expect(response.code).to eq(200)
  end
end

如果您对这种情况有任何解决方法,请告诉我。

谢谢

【问题讨论】:

  • 请发布您的测试和您正在测试的代码。通常,您应该在失败的测试中添加类似allow(your_double).to receive(:get) 的内容,但这取决于实现。
  • 修改了我的帖子以包含我的测试。谢谢。
  • 您在同一个规范文件中是否提到过RestClient
  • 小心,下划线模型存在问题(例如 AdminUser 转换为类似 admin_user_path 的路径)。 Rails 将下划线视为单词分隔符,无法正确路由。您可以使用 config/initializers/inflections.rb 进行修复(完全不确定我的评论是否相关,我不擅长测试..)
  • 对于某些文件,我多次提到 RestClient,但对于某些文件,它只是一次。 @nattfodd

标签: ruby-on-rails ruby rspec


【解决方案1】:

看起来 RestClient 在其他一些测试中被全局更改,导致其他测试失败。

其中一项测试正在进行:

RestClient = double

将其更改为以下解决了该问题。

let(:RestClient) { double }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 2021-09-12
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多