Javascript vue测试实用程序:触发keydown.tab时焦点元素未更改
考虑下面的测试代码。当使用包装器触发制表符按下时,焦点元素不会改变 我做错了还是我对包装器行为的期望错了 预期结果:Javascript vue测试实用程序:触发keydown.tab时焦点元素未更改,javascript,vue.js,jestjs,dom-events,vue-test-utils,Javascript,Vue.js,Jestjs,Dom Events,Vue Test Utils,考虑下面的测试代码。当使用包装器触发制表符按下时,焦点元素不会改变 我做错了还是我对包装器行为的期望错了 预期结果:#条形图已聚焦 it('test', async () => { const wrapper = shallowMount( { template: ` <div> <button id="foo"></button> <b
#条形图
已聚焦
it('test', async () => {
const wrapper = shallowMount(
{
template: `
<div>
<button id="foo"></button>
<button id="bar"></button>
</div>
`,
},
{ attachTo: document.body }
);
wrapper.find('#foo').element.focus();
const expected = wrapper.find('#bar').element;
wrapper.trigger('keydown.tab');
wrapper.vm.$nextTick();
expect(document.activeElement).toBe(expected);
});
实际结果:#foo
是焦点
it('test', async () => {
const wrapper = shallowMount(
{
template: `
<div>
<button id="foo"></button>
<button id="bar"></button>
</div>
`,
},
{ attachTo: document.body }
);
wrapper.find('#foo').element.focus();
const expected = wrapper.find('#bar').element;
wrapper.trigger('keydown.tab');
wrapper.vm.$nextTick();
expect(document.activeElement).toBe(expected);
});
it('test',async()=>{
常量包装器=浅装载(
{
模板:`
`,
},
{附件:document.body}
);
wrapper.find('#foo').element.focus();
const expected=wrapper.find('#bar').element;
wrapper.trigger('keydown.tab');
wrapper.vm.$nextTick();
expect(document.activeElement).toBe(expected);
});
可能存在与此JSDom错误的连接。我遇到了类似的问题,我们通过更新到v16解决了这些问题。