Я создал проект в vuetify и сейчас пытаюсь протестировать его с помощью jest.
У меня есть кнопка, которую я создал, используя v-btn, который переключает значение логической переменной.
Чтобы проверить, была ли нажата кнопка, я попытался удержать кнопку, используя имя класса, которое я дал v-btn, но оно не работает
Я пробовал использовать неглубокий и простой монтаж. Я пытался захватить сам тег (v-btn), но он не работал
some.vue
<template>
<div>
<v-btn class="profile-button" @click="isProfile = !isProfile">Profile</v-btn>
<v-btn icon color="#fff" class="expand" small fab absolute right @click="mini = !mini">
<v-icon color="#fcbc00">chevron_right</v-icon>
</v-btn>
</div>
</template>
<script>
export default {
data() {
return {
isProfile: true,
mini: true
}
}
}
</script>
some.spec.js
import { shallowMount } from '@vue/test-utils';
import Profile from '@/components/Profile.vue';
import Vue from 'vue'
import Vuetify from 'vuetify'
describe('Profile.vue', () => {
Vue.use(Vuetify)
it('Profile is a vue instance', () => {
const wrapper = shallowMount(Profile);
expect(wrapper.isVueInstance()).toBeTruthy()
});
it('Profile Button exists', () => {
const wrapper = shallowMount(Profile);
expect(wrapper.contains('.profile-button')).toBe(true)
});
it('Profile Button is clicked', () => {
const wrapper = shallowMount(Profile);
expect(wrapper.contains('.profile-button')).trigger('click')
});
it('Has an expand button', () => {
const wrapper = shallowMount(Profile)
wrapper.find('expand').trigger('click')
})
});
Все тесты должны быть пройдены. Но я получаю следующую ошибку:
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
19 |
20 | it('Profile Button exists', () => {
> 21 | expect(wrapper.contains('.profile-button')).toBe(true)
| ^
22 | })
[vue-test-utils]: find did not return expand, cannot call trigger()
on empty Wrapper
16 | it('Has an expand button', () => {
17 | const wrapper = shallowMount(SideDrawer)
> 18 | wrapper.find('expand').trigger('click')
| ^
19 | })
20 | });
Что мне делать? У меня много таких кнопок, которые мне нужно проверить, и я застрял, потому что я все перепробовал.