React 单元测试:使用 React Testing Library 初始化组件状态
在使用 React Testing Library 进行单元测试时,可以通过使用测试工具提供的 render 函数来初始化组件的状态。具体方法如下:
- 导入 render 函数和需要测试的组件
import { render } from '@testing-library/react';
import MyComponent from './MyComponent';
- 使用 render 函数渲染组件并获取组件实例
const { container } = render(<MyComponent />);
- 可以通过 container 查找组件内的元素并进行断言,也可以获取组件实例并操作其状态
// 通过 container 查找元素
const button = container.querySelector('button');
expect(button).toBeInTheDocument();
// 获取组件实例并操作其状态
const instance = container.firstChild;
expect(instance.state.someState).toBe(false);
instance.setState({ someState: true });
expect(instance.state.someState).toBe(true);
注意:如果组件的状态是通过 props 传递的,可以在 render 函数中传入相应的 props 来初始化状态。例如:
const { container } = render(<MyComponent someProp={false} />);
const instance = container.firstChild;
expect(instance.props.someProp).toBe(false);
原文地址: http://www.cveoy.top/t/topic/og1L 著作权归作者所有。请勿转载和采集!