有一个自定义组件,由几个不同的按钮组成,现在针对这个组件写一个Vitest的鼠标点击组件测试,如何写代码以确定点击的是组件中的那个按钮?
时间: 2024-10-12 11:09:22 浏览: 11
在使用Vitest(Vue Test Utils的底层实现)测试一个包含多个按钮的自定义组件时,你可以通过定位元素、引用特定按钮并调用`fireEvent.click()`来模拟点击动作。以下是一个示例代码片段:
```javascript
import { createTestComponent } from '@vue/test-utils'
import MyComponent from './MyComponent.vue'
// 创建组件实例
const wrapper = createTestComponent(MyComponent)
describe('MyComponent', () => {
it('should click on the first button', async () => {
// 定位第一个按钮元素
const firstButton = wrapper.find('button').at(0)
// 点击按钮
await firstButton.trigger('click')
// 可能的后续验证,例如检查状态变化、路由跳转等
expect(wrapper.vm.buttonClicked).toBe(true) // 假设buttonClicked是处理点击事件的属性
})
// 同理,你可以添加更多的测试用例,分别针对其他的按钮
it('should click on the second button', async () => {
const secondButton = wrapper.find('button').at(1)
await secondButton.trigger('click')
// 验证第二个按钮的预期效果
})
//
阅读全文