Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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_Unit Testing_Rspec - Fatal编程技术网

Ruby 如何测试RSpec自定义匹配器

Ruby 如何测试RSpec自定义匹配器,ruby,unit-testing,rspec,Ruby,Unit Testing,Rspec,我正在开发RSpec自定义匹配器,如和 测试RSpec定制匹配器最有效的方法是什么 我测试自定义匹配器(意味着测试目标是自定义匹配器)。我可以测试定制匹配器的正常情况,如下所示 但是如果我测试错误用例,RSpec测试用例就会失败。我想测试错误案例可能是错误。如果失败的断言是错误的 expect('www.example.com:443').not_to have_certificate 带有消息“url确实有证书” 然后你可以用它来测试 expect { expect('www.exampl

我正在开发RSpec自定义匹配器,如和

测试RSpec定制匹配器最有效的方法是什么

我测试自定义匹配器(意味着测试目标是自定义匹配器)。我可以测试定制匹配器的正常情况,如下所示


但是如果我测试错误用例,RSpec测试用例就会失败。我想测试错误案例可能是错误。

如果失败的断言是错误的

expect('www.example.com:443').not_to have_certificate
带有消息“url确实有证书” 然后你可以用它来测试

expect { expect('www.example.com:443').not_to have_certificate }.to raise_error 'url does have certificate'
如果只想测试失败消息的一部分,可以使用

expect { expect('www.example.com:443').not_to have_certificate }.to raise_error(/does have/)

查看rspec的我看到了如何使用自定义匹配器测试错误案例,但没有看到如何使用参考测试自定义匹配器的错误案例。
expect { expect('www.example.com:443').not_to have_certificate }.to raise_error(/does have/)