2011-09-01 64 views

回答

0

我认为这主要是主观的。我更喜欢基于rspec基于匹配的断言的更传统的基于assert的测试,所以我坚持使用Test::Unit。我认为rspec更强大的一个领域是内置stubbing的东西(你必须使用额外的库来完成这个Test::Unit)。

5

在这些讨论中,通常有很多关注语法的内容,这当然是主观的,但RSpec提供了一些有用的功能,在测试/单元,minitest或其扩展库中无法看到。三个BIGGIES,对我来说,主要有:

  1. 可读的输出(TURN帮助瓦特/本,但它不具备的东西打印出来,你需要复制到运行失败的个别例子的命令)。

  2. 合理的CTRL-C。在rspec-2中,当你点击CTRL-C时,那个时刻正在运行的例子就完成了(你可以第二次点击CTRL-C来立即停止它),并且所有这些都在钩子运行后得到输出报告,否则你会得到。在前50个点左右看到一个F有多少次,并没有指出哪些测试实际上失败了。用rspec-2,这不会发生。

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

还有更多,但这只是给你一个想法。当然,我是有偏见的,所以请尽我所能来推荐一些盐。

FWIW, 大卫

+0

非常感谢您对Rspec的工作 – apneadiving