Я тестирую свое приложение реагирования и antd с библиотекой реагирования-тестирования, но я не могу найти атрибуты данных-тестов, несмотря на то, что вижу их на снимках.
Вот как моя конфигурацияпереопределить файл выглядит как.
const { override, fixBabelImports } = require('customize-cra');
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: 'css',
}),
);
import React, { FC, ReactNode } from 'react';
import { Switch } from 'antd';
interface ThemeSwitchProps {
toggleTheme: () => void;
}
const ThemeSwitch: FC<ThemeSwitchProps> = ({ toggleTheme }) => {
return (
<Switch
checkedChildren="Light"
unCheckedChildren="Dark"
defaultChecked
onChange={toggleTheme}
data-testid="theme-switch"
/>
);
};
export default ThemeSwitch;
import React from 'react';
import {
render,
fireEvent,
cleanup,
waitForElement,
} from '@testing-library/react';
import ThemeSwitch from './ThemeSwitch';
describe('<ThemeSwitch />', () => {
const toggleTheme = jest.fn();
const { container, getByTestId } = render(
<ThemeSwitch toggleTheme={toggleTheme} />,
);
beforeEach(async () => {
const themeSwitch = await waitForElement(() => getByTestId('theme-switch'));
fireEvent.click(themeSwitch);
});
afterEach(cleanup);
it('snapshot', () => {
expect(container).toMatchSnapshot();
});
it('should call toggleTheme once', async () => {
expect(toggleTheme).toHaveBeenCalledTimes(1);
});
});
Пите, видя их на снимках.