ste*_*ang 3 ruby testing syntax rspec
我在rspec上有这个配置:
config.expect_with :rspec do |c|
c.syntax = :should
end
Run Code Online (Sandbox Code Playgroud)
它使expect {}.to raise_error
无效,我怎么能用should语法编写这个错误提升测试?
我建议只有expect { code() }.to raise_error
在您无法使用最新的RSpec 语法时才使用它:
lambda { foo( :bad_param ) }.should raise_error
Run Code Online (Sandbox Code Playgroud)
要么
lambda { foo( :bad_param ) }.should raise_error( ArgumentError )
Run Code Online (Sandbox Code Playgroud)
foo( :bad_param )
用你希望断言的任何Ruby代码替换失败,以及ArgumentError
你期望失败的任何异常类.