wrapper.find()详细介绍
时间: 2024-10-12 19:11:01 浏览: 49
`wrapper.find()` 是 Vue Test Utils 的核心功能之一,用于查找并获取 Vue 组件内的指定 DOM 元素或者通过 CSS 选择器匹配的元素。它是 Vue Test Utils 中 `vm.$el.querySelector()` 和 `vm.$refs` 功能的组合,专门用于单元测试场景。
`wrapper.find(selector)` 方法接受一个字符串作为参数,这个参数可以是一个具体的元素标签(如 `.button` 或 `<div class="my-class">`)、CSS 选择器(如 `button`, `[data-testid="my-id"]`),或者是 Vue 组件名(如 `ButtonComponent`)。它会返回一个 `ElementProxy` 对象,这个对象提供了一系列方便的方法来操作找到的元素,例如 `click()`, `text()`, `attributes()` 等。
举例来说:
```javascript
// 查找第一个class为'my-class'的按钮
const button = wrapper.find('button.my-class');
button.text(); // 获取按钮文本
button.click(); // 触发点击事件
// 查找名为'custom-component'的子组件
const componentInstance = wrapper.find(ComponentName);
```
注意,`find()` 返回的是当前测试上下文中可用的最近祖先元素,如果你想要查找更深层次的子元素,可以在 `find()` 后面继续使用 `find()`。
阅读全文