3

我们开始标准化基于 Ruby 的测试框架,最近在基于 RSpec 和 Cucumber 的测试中取得了一些非常好的结果。由于这是一家大型企业,我们将尝试将一组“标准”Ruby gem 放在一起进行测试,因为我们知道我们只会得到大约 90% 的正确率,因为使用了广泛的技术组合.

到目前为止,我们已经确定需要能够支持的关键技术:

  • 消息传输层:WebSphere MQ、Tibco(在我们的测试用例中,我们需要能够读/写消息和清除队列)
  • 数据库:SQL Server、Oracle、Sybase(作为测试用例的一部分,我们需要能够对每个数据库执行 CRUD 操作)
  • 用户界面:Web、.NET、Java/Swing、Silverlight(理想情况下,我们能够通过适当的界面自动驱动这些 UI)

作为一个起点,我们决定要安装以下一组 gem(除了 Ruby 本身附带的那些):

  • 黄瓜(加上锄头和其他依赖项)
  • rubywmq(用于涉及 WebSphere MQ 的测试)
  • 韦拉特
  • watir (对于那些 webrat 不会削减它的情况)
  • rails (与其说是 Rails 本身,不如说是 activerecord 和各种作为依赖关系的 DB 驱动程序,以及 rake)
  • ruby-oci8(用于甲骨文)

对于 Silverlight 应用程序,我们希望能够通过 IronRuby 对其进行测试,但目前这对我们来说是非常未知的领域。

两个问题:

  • 我们错过了任何其他关键的宝石吗?你不能没有的东西?什么是好/坏/丑?
  • 驱动 Java/Swing、Silverlight 和 .NET 用户界面的任何参考来源?我知道 RSpec 书,但还有其他书吗?

提前致谢

4

4 回答 4

4

我会补充

  • 摩卡。如果您使用 Cucumber、Rspec 或 ActiveSupport,如果安装,它可能会自动加载。
  • Test::Unit 或 RSpec。第一个不是 GEM,它是一个标准的 Ruby 库。就我个人而言,我是一个 Test::Unit 人而不是 RSpec 用户,但是您可能想尝试一下 RSpec。
  • Shoulda Shoulda 由添加到 Test::Unit 框架的测试宏、断言和助手组成。
  • Remarkable Remarkable 是所有Shouda 宏到RSpec 的移植。

你也可能想使用

  • RCov检查您的 LOC

与测试不严格相关,但始终与代码质量有关:

  • Flay分析 ruby​​ 代码的结构相似性。
  • Flog向您展示了您编写的最折磨人的代码。
  • 为ruby​​ 开发一个代码气味检测器
  • Roodi 会解析您的 Ruby 代码,并根据已配置的检查警告您遇到的设计问题。
于 2009-06-30T08:33:13.660 回答
1

用于解析 XML 的 Nokogiri 是另一种

于 2009-06-30T08:50:54.530 回答
1

Zentest,对测试很重要

还有用于应用程序部署的MongrelPassenger

于 2009-06-30T10:18:24.103 回答
1

一些非常好的用于 irb/rails 控制台的宝石......

  • - 让您能够绕过可用的ls对象cd。显示方法的来源、显示导轨模型……以及大量其他功能

  • irbtools - 一堆工具集合在一起(包括wirb,hirb,interactive_editor(让你打开emacs,vim等),coderay,... github页面上的列表)

于 2013-08-30T07:40:46.590 回答