【发布时间】:2020-10-07 13:31:34
【问题描述】:
我有一个自定义钩子
import { useDispatch } from 'react-redux';
import { SET_APP_TITLE } from '../reducers/appBar';
export const useTitle = (title: string) => {
const dispatch = useDispatch();
return dispatch({ type: SET_APP_TITLE, title });
};
以及使用它的组件
import { useTitle } from '../common/useTitle';
export default () => {
useTitle('Dashboard');
return <div>Dashboard</div>
}
现在我想为组件编写单元测试(使用 Jest 和 React 测试库):
import React from 'react';
import { render } from '@testing-library/react';
import Dashboard from './Dashboard';
import { useTitle } from '../commons/useTitle';
describe('Dashboard', () => {
it('renders without crashing', () => {
const { getByText } = render(<Dashboard />);
expect(getByText('Dashboard')).toBeInTheDocument();
});
});
在这个测试中,我想监视我的自定义钩子并断言该组件试图设置有效的标题。
【问题讨论】:
标签: reactjs unit-testing jestjs react-hooks react-testing-library