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解决了这些问题。