Ошибка Dom Manipulation (AppendChild) в Jest
Мне нужна помощь в следующем тестовом примере: ошибка appenChild в Jest
updatePopupContent(data) {
const sectionFragment = new DocumentFragment();
//create section return HTML element as per data passed
data.costSection && sectionFragment.appendChild(this.createSection(data.costSection));// test fails here
this.dom.content.appendChild(sectionFragment);
}
describe('test functionality', () => {
const data = {
costSection: {
price: "10 USD"
}
}
it("should create subsections ", () => {
context.createSection = jest.fn().mockImplementation(() => {
const section = document.createElement("div");
section.innerHTML = "Test Section";
return section;
})
context.updatePopupContent(data); // throwing error : TypeError: Cannot read property 'adoptNode' of undefined
expect(context.createSection).toHaveBeenCalledTimes(1);
})
На самом деле это проблема с JSDOM: https://github.com/jsdom/jsdom/issues/2274 Какие изменения мне нужно внести в тест, чтобы устранить ошибку.
благодаря
1 ответ
Итак, если я правильно понимаю, https://github.com/jsdom/jsdom/commit/f9dc6271a8ed557d7557967b87b51bed42a4d932 предоставляет исправление проблемы, с которой вы столкнулись. И вроде бы включен в релиз JSDom 16.0.0.
Все, что вам нужно сделать, это обновить свой
jest
, так что это
jest-environment-jsdom
указывает по крайней мере на
jsdom 16.0.0
. Основываясь на истории своего
package.json
вам нужно как минимум
26.0.1