KAR*_*N.A 5 javascript reactjs react-test-renderer react-testing-library react-18
我在我的项目中使用 React-18.0.0,在测试文件中我收到以下错误
createRoot(...):目标容器不是 DOM 元素。
我的测试文件是:
import ReactDOM from 'react-dom/client';
import { render, screen } from "@testing-library/react";
import App from "./App";
const root = ReactDOM.createRoot(document.getElementById("root"));
test("renders learn react link", () => {
root.render(<App />);
const linkElement = screen.getByText(/Hello React/i);
expect(linkElement).toBeInTheDocument();
});
Run Code Online (Sandbox Code Playgroud)
你的test
使用root.render(<App />)
,而 Reacttesting-library
提供了自己的render
函数来在 a 中使用test
root
不需要检索,并且会导致您显示的错误。
因此,应用以下更改:
// Remove
root.render(<App />);
// Replace with
render(<App />); // Imported from @testing-library/react
Run Code Online (Sandbox Code Playgroud)
工作示例App.test.js
:
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/this should exist/i);
expect(linkElement).toBeInTheDocument();
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7800 次 |
最近记录: |