wiremock-groovy库语法

问题描述 投票:0回答:1

我在Spock测试中将库https://github.com/tomjankes/wiremock-groovy用于WireMock。我最担心的是Intellij Idea不懂语法,我也懂。

摘自文档:

    wireMockStub.stub {
        request {
            method "GET"
            url "/some/thing"
        }
        response {
            status 200
            body "Some body"
            headers {
                "Content-Type" "text/plain"
            }
        }
    }

据我所知,stub { ... }是一个以lambda作为参数的方法调用。没关系,可以继续。request {...}是带有两个参数的方法调用:methodurl。这是对的吗? Idea指向类WireMock的静态方法,但我对此表示怀疑,因为指向型方法具有名为urlPattern的第二个参数,而不仅仅是url。然后我们看到与response类似的东西。 Idea根本无法识别它,因此没有任何提示,没有语法检查等。

因此,有两个主要问题:-这是什么语法?-如何使想法理解?

groovy spock wiremock
1个回答
1
投票

stub {...}是一个以lambda作为参数的方法调用。

正确,但是{...}是闭包,而不是lambda。

request {...}是带有两个参数的方法调用:method和url。正确吗?

否,methodurl都是方法调用。为了清楚起见,在Groovy中可以省略括号,因此对于Java开发人员来说,该块可以重写为:

        request( {
            method( "GET" )
            url( "/some/thing" )
        } )

        request(){
          ...
        }

[Groovy DSL支持使整个事情成为可能,在编译期间可能无法始终正确地将它们识别为IDE,但是仍然可以平稳运行。

© www.soinside.com 2019 - 2024. All rights reserved.