如何在rspec中验证退出值?

时间:2013-12-06 19:48:38

标签: ruby rspec

我的方法有时会调用exit(numeric_value)

rspec是否可以验证在调用方法时,进程是否以正确的值退出?

我看过其他这些帖子,但他们没有回答这个具体问题。

1 个答案:

答案 0 :(得分:8)

给出示例ruby代码:

def it_will_exit
  puts "before exit"
  exit(false)
  puts "never get here"
end

rspec测试用例可以是:

it "it must exit" do
  expect { it_will_exit }.raise_exception(SystemExit)
end

it "the exit value should be false" do
  begin
    it_will_exit
  rescue SystemExit=>e
    expect(e.status).to eq(1)
  end
end