添加这个问题是因为我在网上不容易找到答案。
我试图用来react-testing-library
测试组件是否正确呈现。但是,我收到了许多似乎没有多大帮助的错误。
这是我的测试文件(report.test.ts
与代码中的组件一起):
import { render } from "react-testing-library";
import "jest-dom/extend-expect";
import Report from "./Report";
test("component", () => {
const reportData = {
name: "test-report-name",
url: "test-url"
};
const { getByText } = render(<Report report={reportData} />);
expect(getByText("test-report-name")).toHaveAttribute("href", "test-url");
});
当我尝试运行测试时,出现错误SyntaxError: Unexpected token, expected "</>"
。VS Code 中有一条红色波浪线,悬停时显示Argument of type 'Report' is not assignable to parameter of type 'ReactElement<any>'
.
即使我将 Report 标签更改为简单的<div />
,我也会得到Cannot find name 'div'
.
我的测试有什么问题?