可以使用getByRole
代替byRole
,并且在测试文件中引入@testing-library/jest-dom/extend-expect
库。例如:
import { render } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
test('测试 getByRole', () => {
const { getByRole } = render();
expect(getByRole('button')).toBeInTheDocument();
});
如果需要使用byRole
,则需要使用queryByRole
或getAllByRole
替代,例如:
import { render } from '@testing-library/react';
import '@testing-library/jest-dom/extend-expect';
test('测试queryByRole', () => {
const { queryByRole } = render();
expect(queryByRole('button')).toBeInTheDocument();
});
test('测试getAllByRole', () => {
const { getAllByRole } = render();
expect(getAllByRole('button')).toHaveLength(2);
});