如果您要选择测试框架,您如何在黄瓜和shoulda之间做出决定?
这两个框架的区别主要在于什么?
答案 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)。