出现错误无法在未安装的组件上找到节点。反应测试库?

Getting error Unable to find node on an unmounted component. react testing liberary?

我正在使用 React 测试库对组件进行单元测试。 但是我一渲染组件就收到错误。

Unable to find a node on an unmounted component.

代码:-

import React from 'react';
import {render, fireEvent, waitFor, screen} from '@testing-library/react';
import '@testing-library/jest-dom';
import {server} from '../__mocks__/server.mock';
import Deprovision from '../Deprovision';


beforeAll(() => server.listen());
afterEach(() => server.resetHandlers());
afterAll(() => server.close());

test('Deprovision renders correctly.', async () => {
    console.log(TEST_BASE_URL);
    render(<Deprovision
        onRef={() => {}}
        close={() => {}}
        updateDepID={() => {}}
    />);
});

该组件对 init 执行大量异步调用,然后更新组件上的状态。

但似乎测试在异步调用有机会更新状态之前删除组件。

这适用于没有异步调用的基本组件。

我错过了什么?

找了那么多地方,原来是React版本的问题

我使用的是 React@17.0.2 版本。这是导致上述问题的原因。

请使用 React@16.10.0,这会起作用。