Spock Framework
Spock是针对Java和Groovy应用的另一种测试和规范框架。它是由Groovy编写的,因此具有很强的表达性,而且是一种极其规范的语言。
通过使用Spock,您的测试程序会变得更加易读、且容易维护。受益于Junit的运行程序,Spock能够与大多数IDE、构建工具、以及持续集成类型的服务器相兼容。
Cucumber
Cucumber是自动化集成测试的另一种常用工具,它与其他同类工具的不同之处是其规范能力。
Cucumber将规范和测试文档合并为一个可被Cucumber自动测试的整体,从而保证了您的规范文档一直是最新的。
Spring Test
Spring MVC是一种非常有用的测试框架,它可以在不涉及到Web容器的情况下,进行深层次的测试。
对于编写针对Spring应用的自动化测试来说,它是一种非常有用的库。如果您想对于包括MVC控制器在内的基于Spring的应用,进行单元与集成测试的话,它能够提供一流的支持。
还有一种Spring Test DbUnit,它是将具有DbUnit的Spring Test框架和具有HtmlUnit的Spring Test MVC集成在了一起。
通过使用上述这些工具,您可以轻松地以自动化的方式去测试各种Spring MVC应用程序。
DBUnit
通常,数据库是许多Java应用程序(包括核心Java和Web应用)不可或缺的组成部分,当然它可能也是单元测试中的最大障碍。由于任何人都可以去更改数据、模式(schema)、表、甚至是存储过程,因此连接到Dev或UAT数据库上进行集成测试往往是不可靠的,而且很容易导致自动化集成测试的失败。
DbUnit是JUnit的一个扩展,它可以被用于在每次集成测试之前,将数据库初始化为一种已知的状态,以确保数据库包含着正确的数据。
DbUnit虽然也有其自身的问题,但是它能够帮助我们将创建测试数据从测试代码里分离出来,所以它仍是一款非常实用的工具。
Robot Framework
RobotFramework是一种通用的基于Python的测试自动化框架,它可以被用于验收测试和测试驱动的开发。
它是一种将表格测试数据作为语法、以关键字作为驱动的测试框架。您可以使用它来测试分布式的异构应用程序,其中验证部分则需要涉及到多种技术与接口。
结论
上述就是面向Java开发人员的一些基本性的单元与集成测试的工具、框架库。
当然还有一些我尚未列举到的库,例如AssertJ和Hamcrest。只要您愿意花时间去研究,它们都可以帮助您写出完美且流畅的测试代码。
【原标题】Top 10 Testing Frameworks and Libraries for JavaDevelopers (作者: Javin Paul)
原文链接:https://dzone.com/articles/10-essential-testing-tools-for-java-developers