Scala测试:SUnit,ScalaTest,ScalaCheck,Specs和ParTest的状态和关系是什么?

时间:2011-08-01 17:25:51

标签: unit-testing testing scala specs scalatest

Scala提供了不同测试框架的选择,但我想知道它们的成熟度和稳定性是否存在差异以及它们提供了哪些独特的功能。

是否有适合各种发展的特定产品?

不同的框架可以相互交互,也可以与针对其他语言的测试运行者互操作?

2 个答案:

答案 0 :(得分:24)

  • SUnit no longer exists
  • ScalaTest和Specs已经成熟,维护和接收改进(顺便提一下,Specs2最近已经淘汰)。他们之间的选择是一个品味问题。
  • ScalaCheck没有特别好的跑步者,但ScalaTest和Specs都对ScalaCheck集成有特殊支持。它被认为是一个重要的工具。
  • ParTest仅用于编译器,因为它测试的内容如“编译好吗?”和“这编译吗?”,错误和警告信息等。它不是针对应用程序开发,不应该用于此。

答案 1 :(得分:9)

ScalaTest和Specs具有非常相似的语法和功能列表,它们都被社区采用。它们都允许单元和验收测试。

ScalaCheck有着截然不同的理念。测试生成随机实例并检查某些属性是否成立。属性和生成器可以用一个很好的功能习惯来定义和组合。 ScalaTest和Specs允许您在测试中编写ScalaCheck属性。

在Scala开始编程之前删除了SUnit所以我不知道它是如何工作的。在你的问题之前,我从未听说过ParTest。