使用Scala对Java进行单元测试?

时间:2009-07-18 22:35:00

标签: java unit-testing scala

我熟悉使用模拟对象帮助单元测试我的Java类型,但发现不灵活可能导致冗长和繁琐的测试类型以及大量重复。

我已经看过使用Groovy进行单元测试并取得了一定的成功。我对自己学习Scala很感兴趣,但是也想用它来测试Java。 有没有人对使用Scala这样做有任何建议或参考?

更新以澄清我的目标:

我已经看到在Scala中存在用于单元测试的工具,例如ScalaTest。和ScalaCheck,但他们专注于如何进行测试机制。我正在寻找一些关于如何使用Scala进行单元测试的最佳实践和/或提示和技巧。例如,等同于Javaworld JUnit best practices articleanti-patterns的列表,以指出常见的陷阱或有用的约定。

3 个答案:

答案 0 :(得分:7)

您当然可以使用Scala来测试Java。事实上,由于Scala测试框架与JUnit很好地集成,您可以在Scala中编写测试,并通过JUnit从Eclipse运行它们。

有三个重要的框架:ScalaTest,一般,非常灵活; ScalaCheck基于Haskell测试框架,它生成随机数据以测试您的条件;规范,一般,与ScalaTest的范围相似,但具有更多面向BDD的语法。

答案 1 :(得分:3)

本演示文稿提供了一些使用Scala测试Java代码的提示:sneaking Scala into your organization

答案 2 :(得分:0)

请注意,编译可能会相当慢。注意到,当我编写Java时,我使用快捷键来运行测试的频率比我在Scala中编程时要频繁得多。实际上,在Scala中,你肯定希望在后台安装SBT等代码,不断测试代码。这意味着 - 如果您所关心的只是使用Scala编写的测试 - 您可能需要提取更多内容才能使其变得舒适。

相关问题