В одном из моих тестов на Rails:
test "something" do
assert_raise RuntimeError do
@foo.bar
end
end
Я настроил объект @foo
таким образом, что @foo.bar
делает не повышение RuntimeError
(т. Е. Тестовый случай не пройден)
Но следующий код прошел тест:
test "something" do
blah(@foo)
end
private
def blah(foo)
assert RuntimeError do
foo.bar
end
end
Почему это так?