Подтверждение договора: ошибка / ошибка: ожидаемо (header_value). To match_header(name, Ожидается_header_value)

Использование pact для проверки соответствия заголовка ответа для потребителя и поставщика. Запуск проверки договора на стороне провайдера дает мне следующую ошибку:

Failure/Error: expect(header_value).to match_header(name, expected_header_value)
Expected header "abc" to equal "xyz", but was nil

Тем не менее, когда я проверяю свой ответный заголовок, он дает мне ожидаемое значение ("xyz").

Вот пример файла пакта, который я пытаюсь проверить:

"interactions": [
{
  "description": "a request to do something",
  "request": {
    "method": "get",
    "path": "/example"
  },
  "response": {
    "status": 200,
    "headers": {
      "abc": "xyz"
    }
  }
}]

Я новичок в договоре. Любая помощь будет оценена.

1 ответ

Хотя это старый пост, я надеюсь, что он поможет всем, кто просматривает это. Я не знаком с ruby, однако, если вы используете базовый запрос HTTP Rest, вам нужно добавить заголовки accept в «withRequest», а также ожидаемые заголовки в «withRespondWith». Вы можете использовать Postman для просмотра заголовков запроса и ответа; Пример JavaScript:

      describe('When a request is made to get all <resources>', () => {
    beforeAll(() =>
      provider.setup().then(() => {
        provider.addInteraction({
          uponReceiving: 'a request to receive to receive all...',
          withRequest: {
            method: 'GET',
            path: '/<resource>',
            // Default headers from Axios documentation
            headers: { Accept: "application/json, text/plain, */*" }
          },
...

willRespondWith: {
            // expected headers
            headers: { "Content-Type": "application/json; charset=utf-8" },
...
Другие вопросы по тегам