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

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

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

首先,我们决定安装以下一组 gem(除了 Ruby 本身附带的 gem):

  • 黄瓜(加上锄头和其他依赖项)
  • rubywmq(用于涉及 WebSphere MQ 的测试)
  • 网络拉特
  • watir(对于那些 webrat 不会削减它的情况)
  • Rails(与其说是针对 Rails 本身,不如说是针对 activerecord 和作为依赖项的各种数据库驱动程序,以及 rake)
  • ruby-oci8(适用于 Oracle)

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

两个问题:

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

提前致谢

有帮助吗?

解决方案

我想补充一下

  • 摩卡. 。如果您使用 Cucumber、Rspec 或 ActiveSupport,很可能在安装后会自动加载。
  • 测试::单位或 RSpec。第一个不是 GEM,而是标准 Ruby 库。就我个人而言,我是 Test::Unit 人员而不是 RSpec 用户,但是您可能想尝试一下 RSpec。
  • 应该达 Shoulda 由添加到 Test::Unit 框架的测试宏、断言和帮助程序组成。
  • 卓越 Remarkable 是所有 Shoulda 宏到 RSpec 的移植。

您可能还想使用

  • RCov 检查您的LOC

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

  • 剥皮 分析 Ruby 代码的结构相似性。
  • 鞭打 向你展示你写的最折磨人的代码。
  • 臭佬 ruby 代码气味检测器
  • 鲁迪 解析您的 Ruby 代码并根据已配置的检查向您发出有关设计问题的警告。

其他提示

用于解析 XML 的 Nokogiri 是另一种

Zentest,对于测试来说非常重要

杂种 或者 乘客 用于应用程序部署

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

  • - 让您有能力 ls, cd 围绕可用的对象。显示方法的来源、显示轨道模型...以及大量其他功能

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top