0

我正在使用 Springboot 2.4.3,合同验证器 1.0.3 版本使用 Spring Cloud 合同测试。我为基于消息的测试创建了一个 groovy DSL 合同,如下所示

包 doc.messaging

Contract.make {描述'合同'

    label 'label2'
    input {
    messageFrom('generateDoc')
    messageBody([
            docId: 'D111'
    ])
}
outputMessage {
    sentTo('DocGenerated')
    body([
            "docId"     : value(consumer('D1111'), producer(regex('.*'))),
            "DocNumber" : value(consumer('123'),producer(regex('.*')))
    ])
}

}

它失败并给出以下错误:

Error:(24, 89) java: method create in class org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging<M> cannot be applied to given types;   required: java.lang.Object,java.util.Map found: java.lang.String   reason: actual and formal argument lists differ in length

请帮忙。

4

1 回答 1

0

我认为您的问题来自这里的错误声明:

body([
        "docId"     : value(consumer('D1111'), producer(regex('.*'))),
        "DocNumber" : value(consumer('123'),producer(regex('.*')))
])

它应该如下所示:

body([
        docId     : value(consumer('D1111'), producer(regex('.*'))),
        DocNumber : value(consumer('123'),producer(regex('.*')))
])
于 2017-02-23T10:56:49.877 回答