黄瓜和蜜饯之间的主要区别是什么?

时间:2009-09-19 16:08:32

标签: ruby unit-testing cucumber shoulda

如果您要选择测试框架,您如何在黄瓜和shoulda之间做出决定?

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

5 个答案:

答案 0 :(得分:10)

正如大家所指出的那样,Cucumber和Shoulda有着截然不同的目标。您可以将Cucumber视为“10,000英尺以上的视图”测试框架 - 您可以定义广泛的功能或特定的用户交互,并确保所有内容协同工作。 Shoulda用于单元测试 - 你选择一个特定的模型,并彻底测试该单个部分的所有挑剔的功能。

通常,您可能希望结合使用这些类型的框架。例如,您的大多数高级测试都可以用Cucumber编写,但是当您的系统中存在特别复杂或不透明的代码时,您可以使用Shoulda或RSpec向下钻取以测试详细信息。

答案 1 :(得分:3)

他们的目标完全不同。 Shoulda是一个基于Test :: Unit的单元测试扩展。

Cucumber是一个接受/功能测试框架,可以使用Test :: Unit / RSpec / Whatever进行断言。

例如,

可以直接与RSpec进行比较。

答案 2 :(得分:3)

我没有看到有人提到你实际上can use Shoulda是黄瓜的“测试引擎”。

答案 3 :(得分:1)

Cucumber的目标是验收测试。 Shoulda是一个单元测试框架。

答案 4 :(得分:1)

Shoulda是Test::Unit框架的扩展,它由测试宏,断言和帮助器组成。 Shoulda是编写单元测试的最佳方式。

黄瓜 - 重写RSpec的“故事跑者” - 是Behaviour-Driven Development的工具。它允许您以业务可读的特定于域的语言编写可执行规范。黄瓜更像是一种验收测试工具。

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