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

2022-09-02 22:24:56

我熟悉使用模拟对象来帮助对我的Java类型进行单元测试,但是发现不灵活性会导致冗长而繁琐的测试类型以及大量的重复。

我已经考虑过使用Groovy进行单元测试,并取得了适度的成功。我有兴趣自己学习Scala,但我也想得到一些关于使用它来测试Java的建议。有没有人对使用Scala来做到这一点有任何建议或参考?

更新以澄清我所追求的内容:

我已经看到Scala中存在用于单元测试的工具,例如ScalaTest。和ScalaCheck,但他们专注于如何进行测试的机制。我正在寻找一些最佳实践和/或提示和技巧,了解如何使用Scala进行单元测试。例如,Javaworld JUnit 最佳实践文章的等效内容或反模式列表,以指出常见的陷阱或有用的约定。


答案 1

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

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


答案 2

本演示提供了一些关于使用 Scala 测试 Java 代码的提示:将 Scala 潜入您的组织


推荐