Dom Manipulation(AppendChild)在Jest中失败



在下面的测试用例中我需要一些帮助:在Jest 中appenChild失败

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我需要在测试中进行哪些更改才能解决错误。

感谢

所以,如果我理解正确,提交f9dc6271a8ed557d7557967b87b51bed42a4d932可以修复您所面临的问题。并且似乎包含在JSDom 16.0.0版本中。

你所需要做的就是更新你的jest,所以它的jest-environment-jsdom至少指向jsdom 16.0.0。根据其package.json的历史记录,您至少需要26.0.1

相关内容

  • 没有找到相关文章

最新更新