无法使用 vue-test-utils 单击 class 的特定按钮部分

Impossible to click on a specific button part of a class with vue-test-utils

我想用 vue-test-utils 测试 editable table。每行都有编辑按钮,当单击编辑按钮时,table 行展开并允许用户输入信息。

每个编辑按钮都有 class "editAddress",这是我到目前为止尝试过的:

describe('Customers Addresses Table', () => {
    let wrapper;

    beforeEach(() => {
        wrapper = mount(AddressesTable);
    });


    it('can edit an address',() => {
        const firstEditAddressButton = wrapper.findAll('button.editAddress').at(0);
        firstEditAddressButton.trigger('click');
        console.log(firstEditAddressButton.html());
        expect(wrapper.html()).toContain('Close');
    });

});

测试失败,因为按钮似乎没有被点击..

我的table的html代码是这样的(我这里用的是bootstrap-vuetable):

<div class="panel panel-default">
    <b-table>
          Address Edition-->
          <template v-slot:cell(name)="data">
               <div>
                     <button class="editAddress" @click="data.toggleDetails(); buttonEditClicked(data.item)">{{ data.item.name }}</button>
               </div>
          </template>

      </b-table>
</div>

点击编辑按钮后,table应该变成这样:

也许我没有正确获取 class "editAddress" 的第一个按钮,我不知道..

感谢您的帮助!

试试看

it('can edit an address', async () => {
   const firstEditAddressButton = wrapper.findAll('button.editAddress').at(0);     
   firstEditAddressButton.trigger('click');

   await wrapper.vm.$nextTick();

   expect(wrapper.html()).toContain('Close');
});