Minitest stub_any_instance 和方法?
Minitest stub_any_instance and methods?
如果我这样做
Klass.stub_any_instance(:new, raise(RuntimeError) do
...
end
RuntimeError 在 stub_any_instance 行引发,而不是像我希望的那样,稍后在 Klass.new() 发生时引发。
有没有办法让这项工作按照我想要的方式进行?
用 lambda 包裹 raise
:
Klass.stub :new, -> { raise(RuntimeError) } do
assert_raise { Klass.new }
end
(您还需要使用 stub
而不是 stub_any_instance
。)
如果我这样做
Klass.stub_any_instance(:new, raise(RuntimeError) do
...
end
RuntimeError 在 stub_any_instance 行引发,而不是像我希望的那样,稍后在 Klass.new() 发生时引发。
有没有办法让这项工作按照我想要的方式进行?
用 lambda 包裹 raise
:
Klass.stub :new, -> { raise(RuntimeError) } do
assert_raise { Klass.new }
end
(您还需要使用 stub
而不是 stub_any_instance
。)