我正在尝试将我的应用程序从grails 2升级到grails 3.但是,在grails 2中运行的功能测试现在无法运行。在grails 2中,我使用RestBuilder发送请求并获得响应。在grails 3中,没有相应的RestBuilder版本。如何发送我的帖子并获得grails 3功能测试请求?
非常感谢。
我在Grails 2中的测试代码:
void testRequestNewEnvironment() {
setup:
def rest = new RestBuilder(connectTimeout:1000, readTimeout:20000)
int timeout = 10
String environmentId = 0
String environmentStatus = "Not Ready"
when:
/**
* PostMethod. Send out a post and response status should be 200 and the body of response include env_id
*/
def resp = rest.post('http://localhost:8080/test-environment-manager/environment') {
contentType "multipart/form-data"
buildfile= new File('script.sh')
username = "apps"
keepEnvflag = "false"
env_flavor = "default"
}
then:
resp.getStatus() == 200
environmentId = resp.json.env_id
println "Environment ID: $environmentId"
println ("Environment Status"+resp.json.Status)
答案 0 :(得分:2)
我使用RESTClient
在Grails功能测试中执行HTTP请求。它是来自HTTPBuilder库的一个类,因此它应该适用于每个Grails版本(因为它依赖于Grails)。
显示了一些示例用法here。在您使用它之前,您需要通过将以下内容添加到build.gradle
compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
答案 1 :(得分:0)
我补充说:
编译“:rest-client-builder:2.1.1”
它工作正常。