Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby rspec:提高_错误使用率以匹配错误消息_Ruby_Rspec - Fatal编程技术网

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/) }