在引发异常后,有没有办法让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
答案 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