Ok Нашли решение для этого,
В объекте-оболочке вызовите метод getDOMNode()
, чтобы получить элемент (ы) DOM.Если вы передадите этот элемент в качестве значения event.target.Вы не получите исключение.
Если нет, вы можете создать элемент, используя JSDOM
const dom = new JSDOM();
const newDiv = dom.window.document.createElement("div");
, а затем
test('...', () => {
const mockedEvent = { target: wrapper.getDOMNode()[0] };
wrapper
.find('ClickAwayListener')
.props()
.onClickAway(mockedEvent);
});
или Если вы просто хотите избежатьисключение, TypeError: Failed to execute 'contains' on 'Node': parameter 1 is not of type 'Node'.
передать нулевое значение в качестве цели для смоделированного события или обработчика обратного вызова события.
test('...', () => {
const mockedEvent = { target: null };
wrapper
.find('ClickAwayListener')
.props()
.onClickAway(mockedEvent);
});
Надеюсь, этот код поможет вам.