我正在以古老的方式学习 Rails。以阅读使用 Rails 进行敏捷 Web 开发(第 3 版)作为起点。我目前正在学习测试测试章节。我还知道其他 BDD 测试框架,例如 RSPec。所以我想知道 RSpec、Cucumber 等框架是否应该取代了解/使用 Test::Unit 的需要?它们本身是否相关并用于不同的目的?

更新:由于我是测试新手,我也很想获得有关哪些资源有助于我熟悉不同框架的反馈。

谢谢!

有帮助吗?

解决方案

世界已经变了!检查向下和给予好评@prusswan

我想测试::单位仍然是相关的,即使有很多周围的BDD和其他测试工具。炒作

这就是说,如果你是为它,你可以绕过学习测试::单位,并与像RSpec的和早该马上开始,但有什么可说关于通过实例的敏捷Web开发以下书上看到,其中来自BDD的思想是从哪里来的。

我发现自己仍然在使用测试::单位的一些项目,因为它与Rails的,仍然是一个非常伟大的测试框架。

所以长话短说,我不认为这是过时的,但它不是最前沿了。 BDD是一种测试模式的转变,特别是如果你开始使用黄瓜和Webrat,但一旦你进入它非常神奇。早该是最容易过渡到,所以我会测试::单位开始,然后移动到早该,然后给RSpec的黄瓜一试。

您正在测试或测试至少兴趣!这是最好的部分。在结束这不要紧,你只要你满意的话用什么。

祝你好运!

其他提示

我只是想发布 2012 年的更新:

出于 主要的当前的 (可与 Rails 3.2 一起使用,只需进行一些小的修改)关于 RoR 的介绍性书籍,其中两本正在使用 Rspec(最多简短提及 Test::Unit),其中一本甚至计划使用 Rspec 莫尔 Rspec 为 下一版, 至此,这场“战斗”谁胜谁负,一目了然

请允许我选择性地引用 dhh:

当然,重要的是我们让人们进行测试,所以工具不应该太重要。

2014年重温:

Minitest 现在已取代 Test::Unit 作为当前版本 Rails 中的默认值。就我个人而言,我认为与它的前身相比,它值得仔细研究,原因有很多 -

  1. 其状态为默认状态
  2. 对水豚和硒的更好支持,很大程度上归功于像这样的宝石
  3. 相对较轻
  4. 大部分向后兼容 Test::Unit

有很多人谁还是喜欢测试::单位,并在一定程度上,这是一个个人喜好。但是,总的来说,你会发现在前面的RSpec远远活动。很酷的东西都被使用RSpec和黄瓜做,所以如果你不自己有个人喜好做,我可能会跳过测试::单位。你应该,但是,有足够的熟悉它来读取写入与之别人的测试,但我不会预见成为一个难题。

scroll top