在pact-jvm (groovy在消费者端,gradle在提供者端)中,我尝试使用Pact匹配器,如下所示:
name regexp(~/\w+/,'sony')Pact matcher正则表达式只对字符串有效吗?对于字符串以外的值,我需要使用Pact term吗?
如果上面两个问题的答案是“是”。请向我解释如何在groovy风格中使用Pact term。
我尝试过使用如下的Pact term:
date Pact.Term(generate :"02/11/2013", matcher:/\d{2}\/\d{2}\/\d{4}/)但是获得groovy - MethodMissingException。我完整的回复正文供参考:
withBody {
id regexp('[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}','e8cda07e-849f-49c2-94d6-aaa5c4ab7fcd')
name regexp(~/\w+/,'sony')
date Pact.Term(generate :"02/11/2013", matcher:/\d{2}\/\d{2}\/\d{4}/)
}发布于 2017-02-14 05:26:40
正则表达式仅适用于字符串。
如果你想匹配日期,我建议使用date匹配器,例如
withBody {
id regexp('[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}','e8cda07e-849f-49c2-94d6-aaa5c4ab7fcd')
name regexp(~/\w+/,'sony')
date date("dd/MM/yyyy", "02/11/2013")
}请参阅可用的DSL方法https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-groovy#dsl-methods-1。
https://stackoverflow.com/questions/42162810
复制相似问题