2017-02-10 2 views
0

В пакте-JVM (заводная на стороне потребителя и Gradle на стороне провайдера) ценностей, я пытаюсь использовать Пакт matchers, как показано ниже:Как использовать Пакт Искатель для других, чем «Струны»

name regexp(~/\w+/,'sony') 

Регулярное регулярное выражение Pact работает только для строк? Для значений, отличных от строк, мне нужно использовать термин Pact?

Если ответ «да» по двум вышеуказанным вопросам. Пожалуйста, объясните мне, как использовать термин Pact в стиле groovy.

Я попытался использовать Pact термин, как показано ниже:

date Pact.Term(generate :"02/11/2013", matcher:/\d{2}\/\d{2}\/\d{4}/) 

Но получить заводной - 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}/) 
     } 

ответ

1

Regex применяется только к строкам.

Если вы хотите совпадать с датой, я бы предложил использовать согласный 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