Публикация макетов для пакета npm, который будет использоваться системой jest для модуля jest - PullRequest
1 голос
/ 18 октября 2019

Я публикую (приватный) пакет npm и хотел бы опубликовать и макеты для него. Я хочу, чтобы эти насмешки были подхвачены системой имитации модуля jest .

Пакет представляет собой реагирующую библиотеку, которая использует контекст и выполняет сетевые запросы. Вся функциональность библиотеки автономна и полностью протестирована. Я хотел бы, чтобы потребитель мог рассматривать это как черный ящик в тестах, полагая, что он работает как ожидалось. Таким образом, я хотел бы опубликовать смоделированную версию для тестирования.


// The real component
const ComplicatedComponent = props => {
  // Access context here
  return <div> Something based on context <div/>
}

// The mocked component

const ComplicatedComponent = props => <>ComplicatedComponent</>

В идеальном мире потребитель мог бы просто позвонить

jest.mock('my-library');

Насколько я могуможет сказать здесь : это невозможно из коробки. Кажется, это подразумевает, что потребитель должен написать макеты:

Если модуль, над которым вы работаете, является модулем Node (например, lodash), макет должен быть помещен в каталог mocks рядом с node_modules

Может кто-нибудь предложить хороший подход к публикации макетов для моей библиотеки, которые будут использоваться jest?

...