Почему Стамбул показывает охват всего в цепочке обещаний, независимо от того, есть ли тест для этого? - PullRequest
0 голосов
/ 11 октября 2018

Мой код имеет:

.then((data) => {
  let providerId = data[1].name;
  console.log(providerId);

  return global.db.Transcription.create({
    ConferenceId: foundConference.id
  })
    .then(() => {
      return {
        providerId
      };
    });
})
.then((dbTranscription) => {
  return factory.checkTranscription({
    Body: JSON.stringify({
      providerId: dbTranscription.providerId
    })
  });
})

Стамбул показывает: enter image description here

Однако у меня нет конкретного теста для вызываемого checkTranscription и т. Д.Я бы предпочел не показывать это как покрыто.Есть ли в любом случае, чтобы сделать это?

1 Ответ

0 голосов
/ 14 октября 2018

Стамбул обеспечит покрытие кода в любом файле, который удовлетворяет глобусу, указанному вами для свойства include.Вы также можете указать глобус exclude, который можно использовать для исключения определенных файлов (например, самих тестовых файлов).Единственный способ заставить Стамбул игнорировать реализацию конкретной функции - это переместить эту функцию (в данном случае (dbTransciption) => { return factory.checkTranscription(...); }) в свой собственный модуль и исключить этот файл из тестового покрытия.

Где-то в вашей кодовой базе, которая сейчас используетсяпротестировано, оно вызывает эту цепочку обещаний и в конечном итоге вызывает эту функцию.Вы можете видеть это из-за 1x в строке 71.

Вопрос, однако, почему исключить это из покрытия?

...