【问题标题】:Mocking Ruby's Timeout::timeout in a Rack App在 Rack 应用程序中模拟 Ruby 的 Timeout::timeout
【发布时间】:2015-11-10 04:48:28
【问题描述】:

我有一个 Sinatra 应用程序。我正在使用Rack::Test 对其进行测试。我想确保将查询字符串参数传递给Timeout::timeout()

我认为expect_any_instance_of(Timeout).to receive(:timeout) 会起作用。

没有,我只是得到默认的Exactly one instance should have received the following message(s) but didn't: timeout。我可以亲眼看到,毫无疑问,代码肯定会被调用。

有什么想法吗?

【问题讨论】:

    标签: ruby rspec sinatra rack


    【解决方案1】:

    Timeout::timeout - 这是类方法调用,而不是实例方法调用。因此,你应该使用这个:

    expect(Timeout).to receive(:timeout)
    

    【讨论】:

    • 太棒了,谢谢!这就是你生病上班不午休时会发生的事情......
    猜你喜欢
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2017-01-20
    • 2011-10-25
    相关资源
    最近更新 更多