我们想为Grails app公开的许多REST服务添加一些集成测试,而不是使用我们当前使用的Firefox Poster插件手动验证它们。
BTW,在我们的案例中, HAS 是集成测试,而不是单元测试。我相信其他人已经过去了这个,可以节省我们一些时间,而不是试验......
`grails test-app -integration`
以上命令是否实际启动了对我们自己的应用程序(http:// localhost / myapp)进行自我发布所需的功能?它必须通过url映射管道,xml内容协商,spring / acegi安全性等。如果是这样,我想我们可以使用Groovy RESTClient,如下所示: http://groovy.codehaus.org/modules/http-builder/doc/rest.html
谷歌告诉我另一种选择是功能测试插件: http://thediscoblog.com/2009/06/15/grails-hip-tip-testing-restful-services/有经验的评论或问题?这是使用plugins.acegi = 0.5.2
的Grails 1.2.1应用程序答案 0 :(得分:0)
答案 1 :(得分:0)
REST服务通常是通过在URLMappings中设置的控制器中的操作来创建的,以使用不同的HTTP方法(GET,PUT,POST,DELETE),因为它们是控制器中的简单操作,集成测试可以只是一个测试方法的测试方法,像其他任何方式一样测试操作,向他们发送您需要的内容类型,例如JSON,并将正确的数据作为JSON传递,如果这是您的服务所期望的。
您可以为同一操作创建多个测试方法来测试差异响应,例如,如果请求的是非有效资源,而不是测试服务正在返回正确的错误代码404。