是否可以更好地替代Groovy for Java集成测试?

我打算使用其编程接口测试我的基于Java的Web应用程序。 为此,我打算使用他们的RMI / WebService接口调用我的会话bean,并检查他们支持的服务是否正确。 为此,我需要一种脚本语言:

  • 调用我的RMI / WebService接口
  • 执行SQL语句(例如,首先清理DB)
  • 有一个简单的流量控制(循环,条件等)
  • 容易理解。 我可能会要求我的非程序员编写测试脚本

我打算将Groovy用于此目标。 Groovy有更好的建议或替代方案吗?

编辑1

在答案中提到的其他介绍的Groovy替代品是JRuby和RSpec。 网上有没有比较?

我认为Groovy是您可以用于测试的最佳选择。 Groovy与Java的集成是无缝的,因此调用方法,库和通常运行顺畅的东西。

开始使用Groovy的公司通常也会开始使用它进行测试,然后在生产代码中使用它。

正如@tim_yates所说, Spock是一个用于测试的Groovy框架,也是一个很棒的框架。 你也可以使用JUnit / EasyMock / TestNG / Whatever没有问题,Groovy本身带有GroovyTestCase (基于JUnit)来完成工作。

Groovy还使您能够编写酷炫的DSL ,帮助您为非程序员实现编程语言,正如您所说。

Groovy中的SQL支持也很简单。 您可以使用groovy.sql包类并快速开始使用它,或者您可以根据需要使用JPA。

我会推荐RSpec和JRUby 。

RSpec非常清晰,描述性和易于理解,甚至非程序员也可以使用它。 使用JRuby,您几乎可以使用Java完成所有操作。

所以带有JRuby的RSpec听起来非常符合您的要求。

有关示例,请参阅http://patshaughnessy.net/2009/6/25/taming-the-beast-using-jruby-and-rspec-to-test-a-j2ee-application