GMTC北京站两周后开幕,58个议题全部上线,点击查看 了解详情
写点什么

Autotest:一款测试辅助工具

2007 年 12 月 14 日

许多人一直不解,在 Ruby 社区的开发者,为什么更喜欢类似于 TextMate 这样的文本编辑器,而非图形化的 IDE 工具?其中一个原因就是,在文本编辑器环境下,有大量 Ruby 编写的工具,可以帮助开发者完成繁琐的编码工作。最近,在Pat Eyler 的blog 中,对这些工具的特性进行了评比

Autotest 就是其中之一,它是 Zentest 包中的一个组件。其安装方式如下:

gem install zentestZentest 可以帮助你撰写单元测试,并且将测试与你的代码进行同步,而 Autotest 只做一件事请,那就是:在启动之后,每当文件保存时,就会重新执行一遍相应的单元测试。Autotest 非常智能化,只会运行保存的文件所对应的那部分单元测试。

Autotest 的作者 Eric Hodel,谈及编写这款工具的原因时,说道这是由于他的工作模式所致使:

在我编写 autotest 之前,我进行细粒度的代码修改时,往往在语法上都是正确的。我编写 autotest 来自动执行单元测试,这样我就不需要手动选择需要运行哪个测试。因为我的变动很小,所以我也不需要将注意力分散于在控制台中敲打测试命令之上。

他同时也提到了执行测试的另一个益处:可以将代码在每次保存的时候都进行装载和检查。流行的 Java IDE 工具,都会执行一组庞大的静态分析,比方说在代码之上的语法语义检查,或者是在保存文件时执行增量检查。相同层面的自动化检查通过 Autotest 就可以完成,并且可以让开发者的注意力仍然保持在他们喜爱的编辑器之上。

Autotest 同样也允许通过插件接口来进行拓展。这如同在项目根目录下创建一个".autotest"文件那样简单。实现这一点,可以使用已经存在的插件,或是针对不同的钩子程序编写自定义的处理句柄:

Autotest.add_hook :red { |autotest| p "Failures!" }以上语句展示的是当测试失败时的处理方式,其中第一个参数是 hook 的名称。当测试未执行通过时,这段代码将会简单的打印输出“Failures!”。当然,根据测试的输出结果,Autotest 同样也允许调用其他工具,或者是在每次保存的时候都执行测试。目前,与 Emacs 编辑器整合的 Autotest 插件,或是 acoustic feedback 插件已经可以使用。

你以前曾听说过 Autotest 吗?是否打算立即尝试一下呢?

查看英文原文: Autotest - a hidden tool gem

2007 年 12 月 14 日 20:015718
用户头像

发布了 74 篇内容, 共 95078 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

已膜拜!GitHub大佬的微服务资源库太强了,每份学习手册都优质详细

Crud的程序员

Java spring 架构 微服务

滴普技术荟-云原生基座OpenKube开放容器实践(四):linux模拟pod并配置上外网

滴普科技2048实验室

产品经理训练营 Week02

柚子君~

极客大学产品经理训练营

云原生基座OpenKube日志系统介绍

滴普科技2048实验室

Hadoop之HDFS 内部机制知多少?

hanke

大数据 hadoop hdfs 开源 数据存储

维基百科技术架构演进分析

andy

阿里技术官神作!大厂亿级流量性能调优学习手册,堪称保姆级教学

Crud的程序员

Java 架构 调优

混合云管平台openkube日志系统介绍

滴普科技2048实验室

作业 - 第二周

eva

Nebula Graph 在微众银行数据治理业务的实践

Nebula Graph

数据治理 图数据库 图数据库实战

作业二、作业三

清醒梦境

香喷喷!2021最新出炉Java程序员面试全方位贴身指南

比伯

Java 编程 程序员 架构 面试

玩遍博客网站,我整理了全套的建站技术栈

老魚

程序员 博客 网站搭建 建站

第三期(2020-2021)传统行业云原生技术落地调研

York

灵雀云 云原生

产品经理训练营-作业二

胡小湖

第二周作业

大熊猫

第三周作业 利益相关方排序

Eva

产品经理训练营-第二周作业

懒杨杨

滴普技术荟-云原生基座OpenKube开放容器实践(三):理解linux虚拟网络设备bridge

滴普科技2048实验室

MapReduce练习案例2 - 自定义排序

小马哥

大数据 hadoop mapreduce 七日更

“区块链+政务”深度融合 开启智慧城市政务新时代

CECBC区块链专委会

大数据

MapReduce练习案例3 - 自定义分区

小马哥

大数据 hadoop mapreduce 七日更

张红珊—第二章作业

zzz

阿里工作6年,熬到P7就剩这份学习笔记了,已助朋友拿到7个Offer

云流

Java 编程 面试 计算机

Flink 助力美团数仓增量生产

Apache Flink

flink 流计算

中国将启动国家区块链平台

CECBC区块链专委会

区块链

区块链技术发展现状

CECBC区块链专委会

区块链

惊艳全网!阿里人开源了K8s进阶宝典笔记,从理论到实践!

996小迁

Java 编程 架构 面试 k8s

产品0期-第二周作业

曾烧麦

产品经理训练营

作业

Eva

如何做好一场技术分享,100%纯干货输出

架构精进之路

技术分享 七日更 28天写作

Service Mesh的演化与未来

Service Mesh的演化与未来

Autotest:一款测试辅助工具-InfoQ