如果有的话,rspec相对于test :: unit有哪些主要优点?

pix*_*rth 3 ruby rspec ruby-on-rails testunit

现在似乎每个人都在使用rspec,但默认情况下rails仍然与test :: unit捆绑在一起.

rspec相对于测试单元有什么主要优势吗?关于这个主题很难获得直接信息......

Dav*_*sky 5

这些讨论中通常很多关注语法,这当然是主观的,但RSpec提供了一些有用的功能,这些功能在test/unit,minitest或其扩展库中无处可见.对我来说,三大巨头是:

  1. 可读输出(TURN对此有帮助,但它没有打印出需要复制的命令以运行失败的单个示例).

  2. 合理的CTRL-C.在rspec-2中,当你按下CTRL-C时,那个时刻正在运行的例子结束(你可以第二次点击CTRL-C立即停止它),并且所有这些都是在钩子运行之后,你会得到相同的你会得到的输出报告.你有多少次在前50个左右的点中看过F,并且没有给出哪些测试实际失败的迹象.使用rspec-2,这不会发生.

  3. 与每个示例和组关联的元数据.RSpec使用它来支持根据各种标准(位置,名称,ruby版本,命令行标记等)选择要运行的示例,以及基于相同的模块的包含/扩展.

还有更多,但这只是为了给你一个想法.当然,我有偏见,所以带着我的建议一丝不苟.

FWIW,大卫