Antd удаляет мои данные-тесты. Есть ли способ предотвратить это? - PullRequest
0 голосов
/ 05 июля 2019

Я тестирую свое приложение реагирования и 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);
  });
});

Пите, видя их на снимках.

...