【发布时间】:2011-05-10 19:52:54
【问题描述】:
我现在正在学习 Scala。我看到那里有 2 个测试框架,ScalaTest 和 Specs。我唯一的问题是我仍然不能轻松地决定哪种语言更好。 此外,我习惯于在代码之前编写测试,目前我不清楚如何在函数式编程中做到这一点。 理想情况下,我想以 TDD 方式学习 Scala,有没有关于它的资源?
【问题讨论】:
我现在正在学习 Scala。我看到那里有 2 个测试框架,ScalaTest 和 Specs。我唯一的问题是我仍然不能轻松地决定哪种语言更好。 此外,我习惯于在代码之前编写测试,目前我不清楚如何在函数式编程中做到这一点。 理想情况下,我想以 TDD 方式学习 Scala,有没有关于它的资源?
【问题讨论】:
有一个功能性的公案,可能是您正在寻找的东西。 Java Posse 的 Dick Wall 开始了一个 github 项目:
https://github.com/relevance/functional-koans/tree/scala
你需要通过mvn package启动maven。
还有一个公案:
感谢@MikeHoss!
【讨论】:
assert(false) // should be true
所以,测试框架。有other questions 与此相关,但我想指出还有ScalaCheck。 ScalaCheck 的功能不如 Specs 和 ScalaTest,但另一方面,Specs 和 ScalaTest 都可以与之集成。
就我个人而言,我更愿意使用 ScalaCheck,它可能与您习惯的单元测试框架大不相同。这种差异可以很好地防止您以面向对象的方式进行测试。
现在,您主要关心的问题是:是否有类似 TDD 的 Scala 教程?我不知道,虽然answer 关于functional koans 似乎接近你想要的。
【讨论】:
ScalaTest 是两个框架中功能更丰富、更灵活的。
话虽如此......我目前更喜欢 Specs,它们似乎在跟上最新的 Scala 版本方面做得更好,而且 IntelliJ 集成似乎也能更好地工作。
对您来说,Specs 的优势还在于可以学习更小的 API。
【讨论】: