我不明白为什么要这么做:
subject { lambda { JenkinsClient.new(params.tap{|p| p.delete(:password)}) } }
it { expect { subject.call }.to raise_error(ArgumentError) }
要使其捕获引发的异常,而不是:
subject { JenkinsClient.new(params.tap{|p| p.delete(:password)}) }
it { expect { subject }.to raise_error(ArgumentError) }
有人可以提供这方面的见解吗?
答案 0 :(得分:0)
这不是一个答案,但我想(通过格式化)显示以下工作正常,所以我认为您遇到的问题不存在一些基本的RSpec问题:
describe "Subject raising error" do
subject {raise ArgumentError}
it {expect {subject}.to raise_error(ArgumentError)}
end