Ruby rspec:提高_错误使用率以匹配错误消息
我使用Ruby rspec:提高_错误使用率以匹配错误消息,ruby,rspec,Ruby,Rspec,我使用raise(ConfigurationError.new(msg)) 我试着用rspec测试这个: expect { Base.configuration.username }.to raise_error(ConfigurationError, message) 但这不起作用。我如何测试这个?目标是匹配消息确保您使用的是rspec>2.14.0,并查看此提交: 您可以将错误消息与正则表达式匹配: it { expect{ Foo.bar }.to raise_error(NoM
raise(ConfigurationError.new(msg))
我试着用rspec测试这个:
expect {
Base.configuration.username
}.to raise_error(ConfigurationError, message)
但这不起作用。我如何测试这个?目标是匹配
消息
确保您使用的是rspec>2.14.0,并查看此提交:
您可以将错误消息与正则表达式匹配:
it { expect{ Foo.bar }.to raise_error(NoMethodError, /private/) }
这将检查用私有方法
消息引发的命名错误
是否不是未定义方法
将非常有用,因为即使出现相同的错误消息,新的也没有通过测试。在“这不起作用”的内部,最好提供特定的错误。顺便说一下,按如下方式引发错误是等效的:
引发配置错误,msg
这并没有回答海报想要匹配错误消息本身的问题。这不是答案。这是正确答案。
it { expect{ Foo.bar }.to raise_error(NoMethodError, /private/) }