0

我刚拿起一本 RSpec 书来阅读,我有这个例子,都在一个文件中:

class RSpecGreeter
  def greet
    'howdy purdy'
  end
end

describe 'RSpec Greeter' do
  it 'should say howdy purdy when it receives the greet() message'
    greeter = RSpecGreeter.new
    greeting = greeter.greet
    greeting.should == 'howdy purdy'
end

所以当我运行它时,这本书说它应该通过并且它是有道理的,它应该通过。但对我来说,它显示为“待定”

待定:RSpec Greeter 在收到 greet() 消息时应该说再见 purdy # 尚未实现 # ./greeter_spec.rb:8

在 0.00012 秒内完成 1 个示例,0 个失败,1 个待处理

4

1 回答 1

3

这是因为您没有将 it 语句包装在一个块中。为了纠正这个你写

describe 'RSpec Greeter' do
  it 'should say howdy purdy when it receives the greet() message' do
    greeter = RSpecGreeter.new
    greeting = greeter.greet
    greeting.should == 'howdy purdy'
  end
end

有关未决示例的更多信息。

还有更高级的未决测试示例。

于 2013-02-09T21:52:10.313 回答