react-dom/test-utils 棄用警告
TODO: 更新至版本 19?
ReactDOMTestUtils.act() 警告
來自 react-dom/test-utils 的 act 已被棄用,建議使用來自 react 的 act。
修改前
import {act} from 'react-dom/test-utils';修改後
import {act} from 'react';其餘 ReactDOMTestUtils API
除了 act 之外的所有 API 都已被移除。
React 團隊建議您將測試遷移至 @testing-library/react 以獲得現代且完善支援的測試體驗。
ReactDOMTestUtils.renderIntoDocument
renderIntoDocument 可以使用 @testing-library/react 中的 render 來取代。
修改前
import {renderIntoDocument} from 'react-dom/test-utils';
renderIntoDocument(<Component />);修改後
import {render} from '@testing-library/react';
render(<Component />);ReactDOMTestUtils.Simulate
Simulate 可以使用 @testing-library/react 中的 fireEvent 來取代。
修改前
import {Simulate} from 'react-dom/test-utils';
const element = document.querySelector('button');
Simulate.click(element);修改後
import {fireEvent} from '@testing-library/react';
const element = document.querySelector('button');
fireEvent.click(element);請注意,fireEvent 會在元素上觸發實際事件,而不僅僅是模擬呼叫事件處理程式。
所有已移除 API 列表
mockComponent()isElement()isElementOfType()isDOMComponent()isCompositeComponent()isCompositeComponentWithType()findAllInRenderedTree()scryRenderedDOMComponentsWithClass()findRenderedDOMComponentWithClass()scryRenderedDOMComponentsWithTag()findRenderedDOMComponentWithTag()scryRenderedComponentsWithType()findRenderedComponentWithType()renderIntoDocumentSimulate