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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· 盘点!HelloGitHub 年度热门开源项目
· DeepSeek V3 两周使用总结
· 02现代计算机视觉入门之:什么是视频
· C#使用yield关键字提升迭代性能与效率
· 2. 什么?你想跨数据库关联查询?