Pact-jvm - проверяет строковые значения внутри массива с помощью регулярных выражений - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть такая структура массива:

{
Array1 : ["A","B","C"],
Array2: ["D","E","F"] 
}

И я проверил это так:

array("array1")
 .string("A")
 .string("B")
 .string("C")
.closeArray()
array("array2")
 .string("D")
 .string("E")
 .string("F")
.closeArray()

Но моя проблема в том, что иногда элементы внутри массива не возвращаютсяпровайдер в том же порядке, поэтому, мой вопрос : Как лучше всего это проверить?Учитывая, что он всегда будет возвращать массив из 4 элементов, но со значением строки в несогласованном порядке.Я также попробовал это сделать следующим образом:

.minArrayLike("array1", 1, PactDslJsonRootValue.stringMatcher("A|B|C", "A"))
.minArrayLike("array2", 1, PactDslJsonRootValue.stringMatcher("D|E|F", "D"))

Но договор заключает договор вроде:

array1 : [A,A,A],
array2: [D,D,D]

1 Ответ

0 голосов
/ 30 ноября 2018

А как насчет:

PactDslJsonArray.arrayEachLike()
    .stringType("A")
    .closeObject()

См. https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit#dsl-matching-methods

...