Я пытаюсь использовать библиотеку тестирования React с Jest и не знаю, как с этим справиться. Я пытаюсь протестировать компоненты React с помощью Jest и RTL, но постоянно получаю ошибки ErasableSyntaxOnly. Вот мои конфигурации:
package.json:
import { cleanup, fireEvent, render } from '@testing-library/react';
import CheckboxWithLabel from '../components/CheckboxWithLabels';
import { afterEach, it, expect } from '@jest/globals';
// Note: running cleanup afterEach is done automatically for you in
// @testing-library/react@9.0.0 or higher
// unmount and cleanup DOM after the test is finished.
afterEach(cleanup);
it('CheckboxWithLabel changes the text after click', () => {
const { queryByLabelText, getByLabelText } = render(
,
);
expect(queryByLabelText(/off/i)).toBeTruthy();
fireEvent.click(getByLabelText(/off/i));
expect(queryByLabelText(/on/i)).toBeTruthy();
});
Я пытаюсь импортировать компонент в свой .ts-файл, но получаю две ошибки:
Когда я навожу курсор на импортированный компонент, он говорит, что CheckboxWithLabel объявлен, но его значение никогда не читается.
Когда я навожу курсор на экземпляр компонента, он говорит следующее:
Этот синтаксис недопустим, если включен 'erasableSyntaxOnly'.ts(1294)
'CheckboxWithLabel' ссылается на значение, но здесь используется как тип. Вы имели в виду «typeof CheckboxWithLabel»?
Я уже пробовал отключить стираемый SyntaxOnly, но он все равно не работает.
Есть ли у кого-нибудь идеи, как я могу решить эту проблему? Буду признателен за любой совет.
); } [/code] А это тестовый файл, который продолжает выдавать ошибки: [code]import { cleanup, fireEvent, render } from '@testing-library/react'; import CheckboxWithLabel from '../components/CheckboxWithLabels'; import { afterEach, it, expect } from '@jest/globals';
// Note: running cleanup afterEach is done automatically for you in // @testing-library/react@9.0.0 or higher // unmount and cleanup DOM after the test is finished. afterEach(cleanup);
it('CheckboxWithLabel changes the text after click', () => { const { queryByLabelText, getByLabelText } = render( , );
expect(queryByLabelText(/off/i)).toBeTruthy();
fireEvent.click(getByLabelText(/off/i));
expect(queryByLabelText(/on/i)).toBeTruthy(); }); [/code] Я пытаюсь импортировать компонент в свой .ts-файл, но получаю две ошибки: [list] [*]Когда я навожу курсор на импортированный компонент, он говорит, что CheckboxWithLabel объявлен, но его значение никогда не читается.
[*]Когда я навожу курсор на экземпляр компонента, он говорит следующее:
Этот синтаксис недопустим, если включен 'erasableSyntaxOnly'.ts(1294)
'CheckboxWithLabel' ссылается на значение, но здесь используется как тип. Вы имели в виду «typeof CheckboxWithLabel»?
[/list] Я уже пробовал отключить стираемый SyntaxOnly, но он все равно не работает. Есть ли у кого-нибудь идеи, как я могу решить эту проблему? Буду признателен за любой совет.