我写了一个Ruby库(Rails中偶然使用)一些代码,提出抛出一个RuntimeError有点像如下:NoMethodError:未定义的方法`RuntimeError”
class MyClass
def initialize(opts = {})
# do stuff
thing = opts[:thing]
raise RuntimeError "must have a thing!" unless thing.present? && thing.is_a?(Thing)
# more stuff
end
end
,当我跑我的全新rspec的规格在它,它看起来有点像:
it "should raise an error if we don't pass a thing" do
lambda {
my_class = MyClass.new(:thing => nil)
}.should raise_exception(RuntimeError)
end
我一直得到一些奇怪:
expected RuntimeError, got
#<NoMethodError: undefined method `RuntimeError' for #<MyClass:0xb5acbf9c>>
啊 - 你回答之前,我有我的答案了:)这实际上是一个“解决前”的问题......我想别人去同样的问题,并可能想要的答案太... – 2011-04-22 15:50:32