ScalaTest和Spock的比较

Maa*_*mon 14 bdd scalatest spock

scalatest和spock有何不同?每个的附加价值是多少?哪个更适合行为驱动开发(BDD)?请问您能就此事分享一些想法吗?

我想开始BDD,我想在两者之间选择一个,因此我想做出一个有根据的决定.因此,我首先得到最多的信息,特别是考虑到我是一名java程序员,scala似乎有一个重要的学习曲线.

任何建议或想法或经验回报都是受欢迎的.

非常感谢

Pet*_*ser 29

简而言之,我建议使用ScalaTest测试Scala代码,使用Spock测试Java或Groovy代码.(当然,使用ScalaTest测试Java代码也是完全可能的.)为什么不给两个工具一个镜头,坚持使用你更舒服的工具?

免责声明:我是Spock的创始人.

  • 彼得在这里非常慷慨。Spock 的功能毫无疑问是非常棒的,以至于对我来说,它让所有测试框架都无所适从。话虽如此,如果@Peter 能评论 Spock 是否确实可以作为 Scala 的测试框架,那就太好了……因为我读过一篇旧帖子,提到 Spock 的功能依赖于编译器? (2认同)

Win*_*ins 5

虽然我同意彼得的回答,但我想就此发表我的看法。

ScalaTest 和 Spock 都提供流畅的 BDD 测试。但是我发现 Spock 的最佳功能是您可以创建具有多组数据和预期结果的单一场景。这很像 Cucumber 的 Scenario Outline,只在单元测试级别运行。

我找不到这样做的其他单元测试框架/库。

总而言之,如果您需要为单个测试场景测试多个输入/输出,请使用 Spock,否则,请随意选择您觉得合适的任何东西。