博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ruby元编程:单元测试框架如何找到测试用例
阅读量:5061 次
发布时间:2019-06-12

本文共 538 字,大约阅读时间需要 1 分钟。

前几天看了Google Testing Blog上的一篇文章讲到C++因为没有反射机制,所以如何注册测试用例就成了一件需要各显神通的事情。从我的经验来看,无论是Google的GTest还是微软的LTM,都是通过宏来解决问题。但是对于Ruby之流的动态语言,这种事情太小菜一叠了。请看以下代码例子:

1 class Test 2   def test_001 3      puts 'test_001' 4    end 5  6   def test_002 7      puts 'test_002' 8    end 9 end10 11 t = Test.new12 test_methods = t.public_methods.grep(/^test_/)  # 把所有test_开头的方法找出来。13 test_methods.each do |test|14   t.send(test)  # 执行每个测试用例。15 end

有兴趣的同学可以自己去考察一下Ruby单元测试框架的实现,不了解元编程的话可以参考Metaprogramming Ruby。

转载于:https://www.cnblogs.com/panda_lin/p/3363432.html

你可能感兴趣的文章
My.Ioc 的性能
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
hdoj 1846 Brave Game(巴什博弈)
查看>>
Round #345 B. Beautiful Paintings(Div.2)
查看>>
51nod 1018排序
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
linux swoole
查看>>
An Easy Problem?! - POJ 2826(求面积)
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
css3实现循环执行动画,且动画每次都有延迟
查看>>
更改git仓库地址
查看>>
有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
查看>>
Recipe 1.4. Reversing a String by Words or Characters
查看>>
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>
sql注入
查看>>
「破解」Xposed强
查看>>
Linux 平台下 MySQL 5.5 安装 说明 与 示例
查看>>
src与href的区别
查看>>