Я не могу использовать PACT DSL .closeObject()
для форматирования ответа взаимодействия PACT. Я прошу предложений, как заставить это работать, или спрашиваю, работает ли .closeObject()
не так, как предполагалось? У меня есть корзина с 2 товарами. Когда я пытаюсь отформатировать ожидаемый ответ с двумя элементами, используя .closeObject()
, он не будет компилироваться, см. код ниже. Ошибка компиляции в первой .closeObject()
строке после ".stringMatcher("name","iPhone")
. Мне нужно создать иерархию shoppingCartItems
, в файлах PACT ожидается ответ. Объявленное использование PACT DSL .closeObject()
можно найти по этой ссылке в разделе «соответствие любому ключу в разделе карты» Примеры PACT DSL с использованием .closeObject()
private DslPart respSc6() {
DslPart body = new PactDslJsonBody()
.stringMatcher("id", "ShoppingCart_[0-9]*", "ShoppingCart_0")
.eachLike("shoppingCartItem")
.numberValue("quantity", 1)
.stringMatcher("state","new")
.object("productOffering")
.stringMatcher("id","IPHONE_7")
.stringMatcher("name","iPhone")
.closeObject()
.numberValue("quantity", 5)
.stringMatcher("state","new")
.object("productOffering")
.stringMatcher("id","SMSG_GLXY_S8")
.stringMatcher("name","Samsung_Galaxy_S8")
.closeObject()
.closeObject()
.closeArray();
return body;
}
Ожидаемая полезная нагрузка ответа JSON должна выглядеть так: Ожидаемая полезная нагрузка ответа PACT с иерархическими данными