Wiremock Placeholder не распознается

Я пробовал со следующим json, но Wiremock не распознает мои изменения. Я прочитал документацию по wiremock и увидел, что они сказали: сопоставление равенства JSON основано на JsonUnit и, следовательно, поддерживает заполнители. Я также пробовал как с JDK 8, так и с JDK 13, но оба не работают

Ниже подробно

    "method" : "POST",
    "bodyPatterns" : [{
      "equalToJson" : {
        "recipient": {
           "address": {
              "city": "Bellevue",
              "postalCode": "52031",
              "countryCode": "US"
           }
        },
        "sender": {
           "address": {
              "city": "",
              "postalCode": "",
              "countryCode": "HK"
           }
        },
        "shipDate": "${json-unit.any-string}",
        "accountNumber": {
           "key": ""
        }
      },

Результат при запуске теста на селен с макетом (я выполнил макет через java -jar tmp/wiremock.jar --global-response-templating --root-dir ./mock --port 1337):

                                                           |
{                                                          | {                                                   <<<<< Body does not match
  "recipient" : {                                          |   "recipient" : {
    "address" : {                                          |     "address" : {
      "city" : "Bellevue",                                 |       "city" : "Bellevue",
      "postalCode" : "52031",                              |       "postalCode" : "52031",
      "countryCode" : "US"                                 |       "countryCode" : "US"
    }                                                      |     }
  },                                                       |   },
  "sender" : {                                             |   "sender" : {
    "address" : {                                          |     "address" : {
      "city" : "",                                         |       "city" : "",
      "postalCode" : "",                                   |       "postalCode" : "",
      "countryCode" : "HK"                                 |       "countryCode" : "HK"
    }                                                      |     }
  },                                                       |   },
  "shipDate" : "${json-unit.any-string}",                  |   "shipDate" : "May-26-2020",
  "accountNumber" : {                                      |   "accountNumber" : {
    "key" : ""                                             |     "key" : ""
  }                                                        |   }
}                                                          | }
                                                           |

Кто-нибудь может сделать здесь несколько предложений. Спасибо что прочитали мой вопрос


person Sang Mai    schedule 26.05.2020    source источник
comment
Вы используете последнюю версию и вариант jre8?   -  person Tom    schedule 27.05.2020
comment
@Tom Я использовал jdk 8 и jdk 13. Я прочитал документацию, и они сказали, что jre встроен внутри   -  person Sang Mai    schedule 01.06.2020
comment
@SangMai Вы используете последнюю версию WireMock и вариант jre8 автономного файла WireMock .jar?   -  person agoff    schedule 04.06.2020


Ответы (1)


вам необходимо включить заполнитель, как показано ниже, и убедиться, что вы используете jre-standalone jar. похоже, вы используете обычную автономную банку

"enablePlaceholders" : true

person Mano    schedule 12.07.2020
comment
Да, я. Но я не знаю, как это сделать: D Хорошо, если вы можете направить нас сюда - person Sang Mai; 04.12.2020
comment
Я нашел stackoverflow.com/a/61352988/2621917 и использовал предложение: Обновите Wiremock. В моей версии были задокументированные заполнители, но она не работала. - person Michael Piefel; 14.01.2021