【发布时间】:2022-01-23 10:06:38
【问题描述】:
以下是我的 index.js 文件。在那里我想测试应用程序是否在没有崩溃的情况下呈现。
import ReactDOM from 'react-dom';
import { StrictMode } from 'react';
import App from './App';
import './index.scss';
ReactDOM.render(
<StrictMode>
<App />
</StrictMode>,
document.getElementById('root')
);
我编写的 index.test.js 文件如下所示。即使通过了测试,它也有一条未覆盖的线。
/* eslint-env jest */
import ReactDOM from 'react-dom';
import { StrictMode } from 'react';
jest.mock('react-dom', () => ({ render: jest.fn() }));
describe('index.js', () => {
it('renders without crashing', () => {
ReactDOM.render(StrictMode);
expect(ReactDOM.render).toHaveBeenCalledWith(StrictMode);
});
});
第 1 行标记为未覆盖。
import ReactDOM from 'react-dom';
那么你能帮我改进一下这条线的测试用例吗?
【问题讨论】:
-
这不会测试它是否在没有崩溃的情况下呈现;什么都没有被渲染。这将测试是否使用 StrictMode 组件调用了渲染,而不是其他任何东西。
标签: reactjs unit-testing jestjs react-dom