Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 什么';黄瓜和shoulda的主要区别是什么?_Ruby_Unit Testing_Cucumber_Shoulda - Fatal编程技术网

Ruby 什么';黄瓜和shoulda的主要区别是什么?

Ruby 什么';黄瓜和shoulda的主要区别是什么?,ruby,unit-testing,cucumber,shoulda,Ruby,Unit Testing,Cucumber,Shoulda,如果您要选择一个测试框架,您将如何在cucumber和shoulda之间做出决定 这两个框架的主要区别是什么?它们有完全不同的目标。Shoulda是构建在Test::unit之上的单元测试扩展 Cucumber是一个验收/功能测试框架,可以使用Test::Unit/RSpec/任何东西来进行断言 例如,Shoulda可以直接与RSpec进行比较。Cucumber正在进行目标验收测试。 Shoulda是一个单元测试框架。Shoulda是Test::Unit框架的扩展,它由测试宏、断言和帮助程序组成

如果您要选择一个测试框架,您将如何在cucumber和shoulda之间做出决定


这两个框架的主要区别是什么?

它们有完全不同的目标。Shoulda是构建在Test::unit之上的单元测试扩展

Cucumber是一个验收/功能测试框架,可以使用Test::Unit/RSpec/任何东西来进行断言


例如,Shoulda可以直接与RSpec进行比较。

Cucumber正在进行目标验收测试。
Shoulda是一个单元测试框架。

Shoulda是
Test::Unit
框架的扩展,它由测试宏、断言和帮助程序组成。Shoulda是编写单元测试的一种更漂亮的方法

Cucumber是RSpec的“故事跑者”的翻版,是一个用于阅读的工具。它允许您用业务可读的领域特定语言编写可执行规范。Cucumber更像是一种验收测试工具


Cucumber和Shoulda因此有不同的目标(即使Shoulda可以用于BDD)。

我没有看到其他人提到你实际上是Cucumber的“测试引擎”。

正如大家所指出的,Cucumber和Shoulda有相当不同的目标。您可以将Cucumber视为“从10000英尺处查看”测试框架—您定义了广泛的功能或特定的用户交互,并确保所有功能都能协同工作。Shoulda是用于单元测试的——您选择一个特定的模型,并彻底测试该单个部件的所有挑剔的功能

通常,您会希望结合使用这些框架。例如,大多数广泛的高级测试都可以用Cucumber编写,但当系统中有特别复杂或不透明的代码时,可以使用Shoulda或RSpec深入测试细节