在RSpec中的异常后继续

时间:2010-02-28 04:19:34

标签: ruby-on-rails ruby rspec rake

在引发异常后,有没有办法让RSpec继续处理规范?

这是我的规范任务:

SPEC_PATTERN = "spec/**/*_spec.rb"
Spec::Rake::SpecTask.new() do |t|
  t.spec_files = FileList[SPEC_PATTERN]
  t.verbose = true
  t.spec_opts = ["--format", "html:spec/spec_report.html"]
  t.fail_on_error = false

  t.rcov = true
  t.rcov_dir = 'coverage'
  t.rcov_opts = ['--exclude', 'spec']
end

3 个答案:

答案 0 :(得分:2)

使用“should raise_exception”怎么样? http://rspec.rubyforge.org/rspec/1.3.0/classes/Spec/Matchers.html#M000183

答案 1 :(得分:1)

rspec确实捕获异常并将其报告为失败,与测试/单元的方式大致相同。如果你看到任务退出它是因为异常要么在rspec正在处理的代码之外,要么可能是语法错误。

HTH, 大卫

答案 2 :(得分:1)

it "should not raise an exception" do
  expect {
    raise Exception unless true
  }.should_not raise_exception
end