vue.js - 使用 vue-test-utils 无法单击类的特定按钮部分
问题描述
我想用 vue-test-utils 测试一个可编辑的表。每一行都有编辑按钮,当点击编辑按钮时,表格行展开并允许用户输入信息。
每个编辑按钮都有“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');
});
});
测试失败,因为似乎没有单击按钮。
我的表格的 html 代码如下所示(我在这里使用 bootstrap-vue 表格):
<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>
单击编辑按钮后,表格应如下转换:
也许我没有正确获取“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');
});
推荐阅读
- python - 将图像从 BGR 更改为 RGB
- react-native - 在解析模块 `react-native/Libraries/NewAppScreen` 时,发现了 Haste 包 `react-native`
- javascript - 在另一个内部创建一个 web 组件并将其附加到另一个上面是不好的做法吗?
- angular - 设置材料表中数组属性中的值
- unit-testing - 有什么方法可以使用 Jest 和 React 测试具有大型数据集的 highcharts。
- mysql - SQL多查询
- data-structures - 每次活动调用的 Power BI 可视化
- reactjs - Visual Studio Code / React - 是否有可能在某处显示所有可能的道具?
- c++ - 如何从文件中检索链表(在 Turbo C++ 中)
- python - Keras 中共享 LSTM 层中的状态持久性