测试与规格之间的差异


12

我现在有一个概念问题,我找不到有关Test(UnitTest等)与Spec(Rspec等)之间的差异的任何信息。

据我所知,规范包含在集成测试中,而测试包含在UnitTest中,仅此而已。

你能解释一下有什么区别吗?

Answers:


12

看下图。它说明了测试驱动开发(TDD)和验收测试驱动开发(ATDD)之间的关系:

验收测试驱动开发图

注意,内部循环TDD被外部循环ATDD包围。需求(由“验收标准”框说明)推动了自动验收测试的创建,进而推动了要实施的单元测试的创建。

通常,RSpec将用于您希望以对业务分析师友好的方式表达测试的情况,即创建自动验收测试(棕褐色圈);而像nUnit这样的单元测试框架则更专门用于在开发级别(黄色圆圈)从开发人员的TDD角度编写的单元测试。


一个很好的例子是一个哈希表,它需要详细的单元测试,因为它有望适用于所有可能的输入,而不仅仅是验收测试中的一小部分示例。但是,为“好”客户计算折扣的代码很可能被验收测试所涵盖,因此可能不需要或很少进行单元测试。
伊恩

3

好的,我们在这里有一些不同的术语,所以这就是正在发生的事情

  • 我们有单元测试。其他级别是集成测试,性能测试等。
  • rspec可用于上述许多测试级别,例如通过Capybara功能测试针对模型,控制器和视图。
  • “规范”一词来自于作为测试核心的规范-它指明了一些东西。
  • rspec-用于测试agaist浏览器的框架,经常与Ruby on Rails应用程序一起使用。
  • 规格文件-rspec文件通常以_spec.rb结尾,通常被称为规格文件。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.