Я использую пакет пользовательского интерфейса, который предоставляет мне такие компоненты, как заголовки, кнопки, раскрывающиеся списки и т. Д. c. Когда я запускаю тесты, эти компоненты отображают не <Button>
, а, например, <t>
, потому что код пакета пользовательского интерфейса увеличен.
Так что теперь я хочу иметь макет этого пакета, который возвращает фактический <Button>
.
Это работает, когда я так издеваюсь:
jest.mock('ui-package', () => {
return {
Button: 'Button',
}
});
Теперь У меня есть проблема: Есть также компоненты, которые описаны как <Layout.Header>
, например этот фрагмент:
<ApplicationLayout>
<ApplicationLayout.Header>
<ApplicationHeader/>
</ApplicationLayout.Header>
<ApplicationLayout.Sidebar>
{some code}
</ApplicationLayout.Sidebar>
<ApplicationLayout.Body>
{some more code}
</ApplicationLayout.Body>
</ApplicationLayout>
Здесь я хочу смоделировать ApplicationLayout, ApplicationLayout.Header и так далее. Я пытаюсь это сделать, но каким-то образом я только высмеиваю родительский компонент, а не «подкомпоненты».
jest.mock('ui-package', () => {
return {
ApplicationLayout: () => ({
Header: 'ApplicationLayoutHeader',
Body: 'ApplicationLayoutBody',
Sidebar: 'ApplicationLayoutSidebar',
}),
})
Можете ли вы помочь мне правильно смоделировать эти компоненты?