У меня есть приложение React, созданное с помощью приложения Create React.У меня есть следующий компонент, который я пытаюсь протестировать с помощью Jest:
import React from 'react';
import { Button } from 'core-ui';
export const Example = () => {
return (
<div className="Example">
<Button>Click me!</Button>
</div>
);
};
Button
находится внутри пакета core-ui
, зависит от пакета core-utils
:
import * as React from 'react';
import { Logging } from 'core-utils';
export const Button = (props) => {
logger.log('Rendering button');
return (
<button>
{props.children}
</button>
);
}
Когда я пытаюсь проверить эту кнопку с помощью Jest, я получаю следующую ошибку:
Test suite failed to run
Cannot find module 'core-utils' from 'Button.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:221:17)
at Object.<anonymous> (node_modules/core-ui/src/components/Button/Button.tsx:2:1)
Jest не может разрешить модуль core-utils
, даже если он расположен прямо под node_modules
.Обратите внимание, что когда я запускаю приложение React, у него не возникает проблем при запуске компонента.Так что только Jest не может разрешить модуль core-utils
.Любые идеи, где проблема и как ее решить?
Вот тест Jest для справки:
import React from 'react';
import { shallow, ShallowWrapper } from 'enzyme';
import { Example } from './Example';
describe('<Example />', () => {
let wrapper: ShallowWrapper;
beforeEach(() => {
wrapper = shallow(<Example />);
});
it('renders', () => {
expect(wrapper.find('div.Example')).toHaveLength(1);
});
});