Как узнать, соответствует ли nock запросу или нет?

Как узнать, соответствует ли nock запросу или нет? Есть ли способ записать в консоль информацию о том, соответствует ли nock запросам или нет?

4 ответа

В log функция больше не доступна в более новых версиях nock, например v13.0.0, но вы можете установить DEBUG переменная среды для nock.*как описано здесь https://github.com/nock/nock, чтобы регистрировать каждый шаг процесса сопоставления. Например:

export DEBUG=nock.* && yarn test

если вы используете пряжу для проведения тестов.

Это очень просто. Просто добавь .log(console.log) к твоему предмету!

nock('https://github.com')
.get('/')
.log(console.log)

По сути, nock проверяет все активные перехватчики, пока не будет найдено совпадение для вашего запроса (в случае, если у вас есть несколько перехватчиков nock, высмеивающих различные запросы). Итак, что будет зарегистрировано с помощью .log(console.log) является,

  1. полный URL-адрес, на который делается запрос.
  2. URL от перехватчика
  3. истина или ложь, в зависимости от сценария матча. Надеюсь, что это поможет вам решить загадки Nock:)

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

      nock.recorder.rec();

Вы также можете прослушивать эмиттеры событий nock для создания обратного вызова всякий раз, когда запрос перехватывается. Например:

      const requestCallback = () => {
    console.log('Request was called');
}
nock('https://example.org')
    .persist()
    .get('/')
    .on('request', requestCallback);
Другие вопросы по тегам