如何将 Pact Matcher 用于 'Strings' 以外的值
How to use Pact Matcher for values other than 'Strings'
在 pact-jvm 中(groovy 在消费者端,gradle 在提供者端),我正在尝试使用如下的 Pact 匹配器:
name regexp(~/\w+/,'sony')
Pact 匹配器正则表达式是否仅适用于字符串?对于字符串以外的值,是否需要使用 Pact term?
如果以上两题的答案都是'yes'。请解释一下如何使用 groovy 风格的 Pact 术语。
我试过像下面这样使用 Pact 术语:
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}/)
}
正则表达式仅适用于字符串。
如果你想匹配一个日期,我建议使用 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
在 pact-jvm 中(groovy 在消费者端,gradle 在提供者端),我正在尝试使用如下的 Pact 匹配器:
name regexp(~/\w+/,'sony')
Pact 匹配器正则表达式是否仅适用于字符串?对于字符串以外的值,是否需要使用 Pact term?
如果以上两题的答案都是'yes'。请解释一下如何使用 groovy 风格的 Pact 术语。
我试过像下面这样使用 Pact 术语:
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}/)
}
正则表达式仅适用于字符串。
如果你想匹配一个日期,我建议使用 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