【问题标题】:RSpec - generic failure message instead of useful outputRSpec - 通用失败消息而不是有用的输出
【发布时间】:2010-10-29 08:14:22
【问题描述】:

这是使用 RSpec2 - 无论发生什么,当期望不匹配时,我似乎都会收到以下错误。我敢肯定(虽然我暂时无法尝试)在版本 1 中,以下代码会声明未调用方法“methods”。

demo下面的sn-p代码解决了这个问题——当在initialize中取消注释方法时,测试通过。删除评论并返回一般错误消息。

describe "Test" do
  it "should do" do
    my_mock = mock("my mock")
    my_mock.should_receive(:methods)
    obj = Shaun.new(my_mock)
  end
end

class Shaun
  def initialize(mock)
    #mock.methods
  end
end

错误

失败: 1)测试应该做 C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base_formatter.rb:138:in `block in find_failed_line' : nil:NilClass (NoMethodError) 的未定义方法“downcase” 来自 C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base_formatter.rb:136:in `each' 来自 C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base_formatter.rb:136:in `detect' 来自 C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base_formatter.rb:136:in `find_failed_li 内' 来自 C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base_formatter.rb:122:in `read_failed_li 内' 来自 C:/Program Files/Ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.0.0/lib/rspec/core/formatters/base_text_formatter.rb:27:in `block in d ump_failures'

【问题讨论】:

    标签: ruby mocking rspec


    【解决方案1】:

    在这里工作正常,使用 rspec 2.0.1 和 REE 1.8.7。需要再次检查 1.9.2,因为我还没有在这个系统上。

    评论时:

    Failures:
    1) Test should do
       Failure/Error: my_mock.should_receive(:methods)
       (Mock "my mock").methods(any args)
           expected: 1 time
           received: 0 times
       # ./test_rspec.rb:4
    

    【讨论】:

    • 删除 2.0 并重新安装为 2.0.1 版,它可以工作。很奇怪。至少有两个人似乎也遇到过这个问题,不仅仅是我自己。
    猜你喜欢
    • 2020-02-21
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    相关资源
    最近更新 更多