是否可以更好地替代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