RSpec自定义matcher

链接 https://relishapp.com/rspec/rspec-expectations/v/3-4/docs/custom-matchers/define-a-custom-matcher#define-aliases-for-your-matcher

 

复制代码
 1 require 'rspec/expectations'
 2 class String
 3   def words
 4     split('')
 5   end
 6 end
 7 
 8 RSpec::Matchers.define :have_5_words do
 9   match do |thing|
10      thing.words.length == 5
11   end
12 end
13 
14 RSpec.describe String do
15   it { expect("hello").to have_5_words }
16 end
复制代码

 

 

 

2.0版本 链接 https://relishapp.com/rspec/rspec-expectations/v/2-0/docs/matchers/have-n-items-matcher

复制代码
 1 class String
 2   def words
 3     split(' ')
 4   end
 5 end
 6 
 7  describe String.new('hello') do
 8       it {
 9         should have(5).words }
10     end
复制代码

 

posted on   c3tc3tc3t  阅读(263)  评论(0编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
阅读排行:
· 盘点!HelloGitHub 年度热门开源项目
· DeepSeek V3 两周使用总结
· 02现代计算机视觉入门之:什么是视频
· C#使用yield关键字提升迭代性能与效率
· 2. 什么?你想跨数据库关联查询?
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示