在测试 'document.getElementByID' 行时出现 'NULL' 错误。我已经尝试过 attachTo 方法,但这也不起作用

getting 'NULL' error while I am testing 'document.getElementByID' line. I already tried attachTo approach but that is also not working

我正在使用 jest 测试我的反应功能。在测试时,我收到错误 focus of null for document.getElementById line.

我已经尝试过这个解决方案。 但这对我不起作用。

这是我的abc.js

clearSearch = () => {
        const { typeSearchBox } = this.props;
        this.setState({ searchPlaceholderValue: PROMPTRAISED });
        this.setState({ searchValue: '' });
        this.setState({ showClearIcon: false });
        const searchBox = document.getElementById(`SearchBox_${typeSearchBox}`);
        searchBox.focus();
    };

这是我的abc.test.js

it('+++ inputs valid filtered search text', () => {
     categoryWrapper.find('ClearIcon').prop('onClick')();
});

点击 clearIcon 时触发 clearseach。

您需要在测试文件中将 document.getElementById 函数模拟为 return 具有 focus 函数的对象。

const mockUpObject = {
  focus: () => null,
};
global.document.getElementById = jest.fn(() => mockUpObject);