9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

用 Ruby 和 JtestR 来促进 Java 测试

  • 2008-01-10
  • 本文字数:712 字

    阅读完需:约 2 分钟

用 Ruby 来完成脚本任务是很方便的,这使得 Ruby 成为开发测试套件的强有力的候选人。直到最近,还没有真正独立的用 Ruby 来测试 Java 的框架。 Ola Blini (JRuby 团队的成员)和 Anda Abramovici 开发了 JtestR ,使得开发者可以用 Ruby 来测试 Java。这个项目主要是一些由 JRuby 集成在一起的 Ruby 库套件。这其中也包括在 Ruby 领域中非常有名的库: RSpec (用于行为驱动开发), mocha (用于 mock 与 stub), dust (描述性程序块语法测试定义,descriptive block syntax test definition),测试 / 单元以及 ActiveSupport (Ruby 工具类)。

你可以这样写测试用例(RSpec 非常聪明):

import java.util.HashMap<p>describe "An empty", HashMap do</p><br></br> before :each do<br></br>  @hash_map = HashMap.new<br></br> end<br></br> it "should be able to add an entry to it" do<br></br>  @hash_map.put "foo", "bar"<br></br>  @hash_map.get("foo").should == "bar"<br></br> end<br></br> it "should return a keyset iterator that throws an exception on next" do<br></br>  proc do<br></br>  @hash_map.key_set.iterator.next<br></br>  end.should raise_error(java.util.NoSuchElementException)<br></br> end<br></br>end JtestR 可以作为 Ant 的一个任务,支持与 Ant buildr Maven2 的集成。由于 JtestR 依赖于 JRuby(JRuby 正在进行密集的开发),如果你经常运行你的测试,你应该建立服务器 Ant 任务来避免 JRuby 过长的启动时间(在入门教程中将有进一步的描述)。

JtestR 目前是 0.1.1 版本,还处于早期阶段,欢迎你的反馈来指导它将来的发展方向。

查看英文原文 Boost your Java Test with Ruby and JtestR

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2008-01-10 09:08601
用户头像

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

关注

评论

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

业内首家!百度智能云智慧金融业务通过ISO37301合规管理体系认证

百度开发者中心

黄金VS比特币:谁更有吸引力?

CECBC

如何限制Linux终端中tree命令递归文件列表的深度?

Ethereal

Linux这5大磁盘分区工具,绝了!

Ethereal

Flutter 设置应用主题色和字体

岛上码农

flutter ios 安卓 移动端 3月月更

阿里巴巴如何提升构建的效率 | 阿里巴巴DevOps实践指南

阿里云云效

阿里巴巴 阿里云 CI/CD 持续交付 构建工具

培训第二弹!全国大学生智能汽车竞赛百度竞速组预告

百度开发者中心

2022年2月云主机性能评测报告

博睿数据

VuePress 博客优化之增加 Vssue 评论功能

冴羽

JavaScript Vue 前端 vuepress vssues

什么是单臂路由器?如何配置单臂路由?

Ethereal

见证中国云势力崛起!博睿数据实力入围2021~2022 Cloud 100 榜单

博睿数据

DSTC10 赛道最佳论文揭晓!文心 PLATO 再获殊荣

百度开发者中心

昆仑分布式数据库独特的变量读写功能介绍

KunlunBase昆仑数据库

数据库 读写分离

Hadoop HDFS 3.3.1分布式存储搭建

KunlunBase昆仑数据库

国产数据库

开发者们看过来~填问卷参与抽奖,双重周边奖励仅限本周!

InfoQ写作社区官方

OpenHarmony 热门活动

毕业设计:架构实战营模块9

Poplar89

「架构实战营」

干货分享 | 推荐两款好用的企业文档管理软件

小炮

如何基于制品元数据提升交付效率 | 阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里云 云原生 软件开发 持续交付

视频质量评价VMAF,为何让人又喜又忧?

微帧Visionular

视频编码

一文了解路由平台的 Cisco IOS 和 IOS XE 命名约定,看这篇就够了!

Ethereal

Meetup预告|面向云原生的架构及演进

云智慧AIOps社区

开源 云原生 AIOPS 智能运维

吉利控股集团与百度深化战略合作

百度开发者中心

干货|性能提升密钥,由代码细节带来的极致体验

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

建设领先的AI原生云,百度智能云落地新一代高性能AI计算集群

百度开发者中心

阿里巴巴在开源压测工具 JMeter 上的实践和优化

阿里巴巴云原生

Apache 阿里云 云原生 Jmeter

区块链发展趋势与思考

CECBC

Gartner发布服务器虚拟化市场指南 灵雀云作为唯一本土容器厂商入选

York

容器 云原生 数据中心

社区知识库|常见问答 FAQ 集合第 5 期:Broker、Topic、Pulsar 客户端及消息限制等相关问题

Apache Pulsar

开源 架构 云原生 Apache Pulsar 社区

投稿开奖丨轻量应用服务器征文活动(2月)奖励公布

阿里云弹性计算

轻量征文

什么是广域网WAN?学WAN,看这篇文章就够了!

Ethereal

TGIP-CN 036 报名|预见 2022 · Apache Pulsar 技术进展与社区动态

Apache Pulsar

开源 架构 云原生 Apache Pulsar 社区

  • 扫码添加小助手
    领取最新资料包
用Ruby和JtestR来促进Java测试_Java_Sebastien Auvray_InfoQ精选文章