Grails 3功能测试

时间:2015-07-11 06:42:44

标签: grails functional-programming

我正在尝试将我的应用程序从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)

2 个答案:

答案 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”

它工作正常。