Test :: Unit仍然与rails相关吗?

tun*_*l45 17 ruby rspec shoulda cucumber testunit

我正在学习Rails这个古老的方式.通过阅读Agile Web Development with Rails(第3版)作为起点.我目前正在教授测试的章节.我也知道其他BDD测试框架,如RSPec.所以我想知道RSpec,Cucumber,Shoulda等框架是否取代了知道/使用Test :: Unit的需要?它们本身是否相关并用于不同目的?

更新:由于我是测试的新手,我也希望获得有关哪些资源对于使用不同框架的方式有用的反馈.

谢谢!

ewa*_*ned 16

世界变了!检查并upvote @prusswan

我认为即使围绕BDD和其他测试工具有很多炒作,Test :: Unit仍然具有相关性.

话虽这么说,如果你愿意,你可以绕过学习Test :: Unit并立即开始使用像RSpec和Shoulda这样的东西,但是关于通过敏捷Web开发手册中的例子来看看有什么可说的.来自BDD的想法来自哪里.

我发现自己仍然在某些项目中使用Test :: Unit,因为它附带了Rails,并且仍然是一个非常好的测试框架.

长话短说,我不认为它已经过时,但它不再是最前沿.BDD是一种测试范式的转变,特别是如果你开始使用Cucumber和Webrat,但是一旦你进入它就太棒了.Shoulda是最容易过渡到的,所以我先从Test :: Unit开始,然后转到Shoulda,然后尝试给RSpec和Cucumber.

您正在测试或至少对测试感兴趣!那是最好的部分.最后,只要你对它感到满意,你使用什么并不重要.

祝好运!


pru*_*wan 6

我想我会发布2012年的更新:

三个 主要当前(可用于Rails 3.2,只有一些小修改)关于RoR的入门书籍中,其中两个使用Rspec(最多只提及Test :: Unit),其中一个是计划就连moar Rspec的为下一个版本,所以很清楚谁是这个"战"的赢家,现在

并允许我有选择地引用dhh:

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

重温2014年:

Minitest现在取代了当前版本的Rails中的Test :: Unit作为默认值.就我个人而言,由于种种原因,我认为它与其前身相比值得仔细研究 -

  1. 其状态为默认状态
  2. 对于水豚和硒,很大一部分是由于像宝石更好地支持
  3. 相对轻巧
  4. 大部分向后兼容Test :: Unit