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

21

Scala提供了各种不同的测试框架,但我想知道它们之间在成熟度和稳定性方面是否有差异,以及它们提供的独特功能。
是否有一种特定的框架适用于所有类型的开发?
这些不同的框架是否可以相互操作或与针对其他语言的测试运行器进行交互?
2个回答

24
  • SUnit已经不存在
  • ScalaTest和Specs是成熟的、得到维护并且一直在改进(顺便说一下,Specs2最近也发布了)。选择它们之间取决于个人口味。
  • ScalaCheck没有特别好的运行器,但ScalaTest和Specs都有特别支持ScalaCheck集成的功能。它被认为是一个重要的工具。
  • ParTest仅用于编译器,因为它测试的内容是"这个是否可以编译?"、"这个是否不能编译?"、错误和警告信息等。它并不针对应用程序开发,不应该用于那方面。

2
partest 可能对于 / DSL 开发是有用的。请参见scala-user上的此讨论 - Aaron Novstrup

9
ScalaTest和Specs的语法和功能列表非常相似,它们都被社区采用。它们都允许单元测试和验收测试。
ScalaCheck有着截然不同的哲学。测试会生成随机实例并检查一些属性是否成立。属性和生成器可以在漂亮的函数式习语中定义和组合。ScalaTest和Specs允许您在测试中编写ScalaCheck属性。
在我开始使用Scala编程之前,SUnit就已经被删除了,所以我不知道它是如何工作的。在你的问题之前,我从未听说过ParTest。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接