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()
renderIntoDocument
Simulate