【发布时间】: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'【问题讨论】: